use*_*195 4 performance ffmpeg playback
在我的项目中,我正在使用ffmpeg来播放媒体.目前我正在尝试改变播放速度.以高速率丢弃某些数据包是否正确,例如不是关键帧?或者我应该只依赖于改变时间戳和持续时间,即使性能很低(例如4k视频),因此提高速度是不明显的?
如果您的文件包含标准PTS参考信息,我认为更改回放速度的最佳方法是使用setpts过滤器.
例如,要通过x2加速视频,请尝试:
ffplay [INPUT] -vf setpts=0.5*PTS
过滤器也适用FFmpeg.
ffplay [INPUT] -vf setpts=0.5*PTS将丢帧以达到所需的速度。您可以通过指定比输入更高的输出帧率来避免丢帧。
要保留所有帧并仅将帧速率提高 4 倍和速度作为结果 exec:
ffmpeg -i input.mkv -r NEW_FPS -filter:v "setpts=0.25*PTS" output.mkv
Run Code Online (Sandbox Code Playgroud)
在哪里 NEW_FPS = old_fps * 4
要检查帧速率: ffprobe video_name
要检查帧数:
ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 video_name
Run Code Online (Sandbox Code Playgroud)