ffmpeg 常用明命令(持续更新)

视频

提取ES流

ffmpeg -i 1.ts -vcodec copy -an -f rawvideo es.raw

若输入文件为MP4 + H264,需要加-vbsf h264_mp4toannexb选项(H265为 -vbsf hevc_mp4toannexb ),将AVCC(HVCC)格式转为Annex B

ffmpeg -i 1.mp4 -vcodec copy -an -f rawvideo -vbsf h264_mp4toannexb es.raw

添加封面

不指定封面格式默认为png

ffmpeg -i in.mp3 -i picPath -map 0 -map 1 -c:a copy -id3v2_version 3  -disposition:v:1 attached_pic out.mp3

截取一段时间

ffmpeg  -i input_file -c copy -ss 00:00:00 -to 00:00:15 output_file

-ss 为开始时间 -to为结束时间 -c copy 表示不重新编,这样会快一点

注意:建议不改变文件后缀,如果更改后缀后无法播放,去掉 -c copy选项重新编码,特别是在MP4/mov和其他格式间转换时,主要是因为MP4/MOV采用的是AVCC(HVCC)格式ES流,而其它的封装格式一般是使用Annex B格式ES流

播放YUV,RGB数据

ffplay -pixel_format argb -video_size 3840*2160  -x 1280 -y 720
ffplay -pixel_format yuv420p -video_size 3840*2160  -x 1280 -y 720

-pixel_format 指定像素格式, -video_size指定数据源宽高,-x,-y指定显示窗口大小,默认与数据源像素大小一致,太大时会超出屏幕,不方便观察,可以用这两个参数缩放

ffmpeg -pix_fmts | findstr rgb 可以查看支持的rgb像素格式,yuv类似

指定帧率使用 -framerate ,例如 -framerate 30,即显示帧率为30


音频

添加音轨

ffmpeg -i in.mp4 -i in.mp3 -map 0  -map 1:0 -c copy out.mp4

字幕

增加字幕流

ffmpeg -i video.avi -i sub.ass -map 0:0 -map 0:1 -map 1 -c copy video.mkv


提取字幕流


提取字幕文本(不含时间戳信息)

    -f rawvideo 表示提取原始数据

ffmpeg -i output.mkv -map 0:s:0 -an -vn -c:s copy -f rawvideo -map 0:s sub2.txt


提取为ass字幕

    若需转换为其他格式,直接更改后缀即可,例如out.srt

ffmpeg -i output.mkv -map 0:s:0 -an -vn -c:s copy out.ass

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值