bilibili / ijkplayer

Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
GNU General Public License v2.0
32.54k stars 8.13k forks source link

ijkplayer 设置vf0播放速度和设置loop循环有冲突 #3745

Open xzy1213 opened 7 years ago

xzy1213 commented 7 years ago

ijkplayer 设置vf0播放速度和设置loop循环有冲突 我编译时加入了 avfilter,设置vf0 播放速度时,又调用 ijkplayer 设置loop ,结果ijkplayer 加速播放完成后没有立即循环播放,而是等待正常播放的时间过去才重新开始播放。 不设置循环播放,在播放完成时立即调用重新开始,暂时实现了这个功能,但是 ffmpeg本身是支持这种调用的,不知道 ijkplayer 为什么不行?

xzy1213 commented 7 years ago

设置"setpts=0.5PTS" 要等播放时间完成才循环播放,设置 “setpts=2PTS”倒是没有问题

KnIfER commented 6 years ago

是循环某一片段吗?

xzy1213 commented 6 years ago

循环整个视频,设置快速播放的时候,ijkplayer 的 setLoop 要等播放时间完成才会循环播放

Android4MediaPlayer commented 6 years ago

循环播放不就是播放完再重新播放吗

xzy1213 commented 6 years ago

这个 ijkplayer有setloop()的方法,但是这个好像有冲突,这个播放时间是指视频本身按正常速度的播放时间,如果使用 setpts=0.5*PTS 这个 vf0的参数设置快速播放,播放完成了,播放时间是不正确的,他会等正常播放时间结束后再循环播放,是不对的。我这边不设置循环播放,监听播放完成回调是及时的,视频播放完成就有回调,而播放时间进度是错误的。 我这边用 ffmpeg 是设置播放速度和循环播放是没有问题的,用ijkplayer 就是播放时间和进度不准确。

Android4MediaPlayer commented 6 years ago

是必现吗 有空我看看

xzy1213 commented 6 years ago

是的,毕现的