美文网首页
ffmpeg指令简版

ffmpeg指令简版

作者: zht1999 | 来源:发表于2020-10-26 17:45 被阅读0次

2020.10.31更新

python调用ffmpeg 使用ffmpy3
链接https://ffmpy3.readthedocs.io/en/latest/examples.html

pip install ffmpy3
2020.10.30更新

将ffmpeg加入到环境变量

2020.10.28更新

添加了FFMPEG解码MP4帧数不对问题
添加了获取视频总帧数的指令


0.添加环境变量

将ffmpeg解压后的\bin目录加入到系统变量的Path中(路径尽量不要出现奇怪的字符,由数字字母下划线组成)


1.查看视频属性

ffmpeg -i input.mp4

1.1获取视频总帧数

ffprobe -v error -count_frames -select_streams v:0 -show_entries \
stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 input.mp4

2.裁剪视频

2.1裁剪尺寸

crop=w:h:x:y
w、h输出视频宽高,x、y视频中某点向右下裁剪(默认居中)

ffmpeg -i input.mp4 -vf crop=256:256:0:0 out.mp4

2.2裁剪时间

ffmpeg -i input.mp4 -ss 00:00:00 -t 5 out.mp4

-ss 起始时间
-t 持续时间

2.3裁剪帧数(YUV)

ffmpeg -s 64x64 -i input.yuv -vframes 30 out.yuv

-vframes 指定帧数


3.转换视频格式

3.1视频封装转换

ffmpeg -i input.mp4 out.mkv
ffmpeg -i input.mp4 -c copy out.mkv

-c copy直接复制码流

3.2视频编码格式转换

ffmpeg -i input.mp4 -vcodec h264 out.mp4
ffmpeg -i input.mp4 -c:v libx265 out.mp4

-vcodec 指定编码器
-c 指定编码格式
-c:v 指定视频编码格式

3.3指定码率&帧率转换

ffmpeg -i input.mp4 -r 30 -b:v 125k out.mp4

-r 指定帧率
-b 控制码率
-b:v 控制视频码率


4.视频解码为yuv文件

ffmpeg -i input.mp4 out.yuv
ffmpeg -i input.mp4 -pix_fmt yuv420p out.yuv

直接解码产生的yuv可能比原封装下的MP4帧数变多,通过-vsync参数控制

ffmpeg -i input.mp4 -vsync passthrough out.yuv

5.yuv文件编码

ffmpeg -s 1280x720 -pix_fmt yuv420p -r 30 -i input.yuv -b:v 125k -r 30 -vcodec libx264 out.mkv

-s 指定yuv文件尺寸
-pix_fmt 指定yuv文件格式
-r 指定输入yuv文件帧率
-b:v 指定视频码率
-r 指定输出视频帧率
-vcodec 指定编码器


相关文章

网友评论

      本文标题:ffmpeg指令简版

      本文链接:https://www.haomeiwen.com/subject/vsfzmktx.html