ffprobe获取视频信息,编码转换,设置关键帧间隔等操作
查看关键帧间隔
ffprobe -select_streams v -show_entries packet=pts_time,duration_time,flags -of csv=p=0 test.mp4
输出格式由packet=pts_time,duration_time,flags
指定,pts_time
指帧的时间戳,duration_time
指帧播放时长,它等于1/framerate秒,flag
指帧标志,K_
表示关键帧。
视频流转码和关键帧间隔设置
ffmpeg -i input.mp4 -c:v libx265 -x265-params keyint=1 -c:a copy output.mp4
ffmpeg -i input.mp4 -c:v mpeg2video -g 1 -bf 0 -c:a copy output.mp4
这里分别转了H.265和mpeg格式,并且用两种方式设置了关键帧间隔-x265-params keyint=1
或者-g 1
,第一种是针对x265这个编码器指定参数,第二个应该是通用方法。
码率设置
ffmpeg -i input.mp4 -c:v libx265 -x265-params keyint=1 -b:v 2M -c:a copy output.mp4