贡献者: addis
ffprobe -i 视频文件 -show_streams
或者 ffprobe -show_streams 视频文件
。
-select_streams v
或 a
,可以用 a:0
查看第一个音频流。要查看字幕流,用 s
,数据流用 d
,附件用 t
-show_streams
的输出中,codec
是编码格式,MP4 最常用的是 H264,高清视频也常用 H265。音频最常用 ACC
bit_rate
(码率)是每个流每秒钟的平均比特数。一个 4GB 的两小时视频大概是 4.4Mbit/s
,也就是 550kB/s
,iPhone Xs max 录像大约是 1MB/s
,录屏(886x1920px)大约 2MB/s
(注意 MB 是 MByte)。
440kbit/s
。
1MB/s
到 1.2MB/s
。MP4 电影大约 0.6MB/s
ffmpeg -i input_video.mp4 -vn -acodec copy output_audio.mp3
(出错,用 ffmpeg -i input.mp4 -vn -acodec copy output.aac
或者 ffmpeg -i input_video.mp4 -vn -acodec libmp3lame -q:a 0 output_audio.mp3
)
ffmpeg -i input_video.mp4 -ss start_time -t duration -vf fps=1 output_%03d.jpg
ffmpeg -y -i 输入视频 -c copy 输出视频
。这样的转换是完全无损的。
ffmpeg -i 输入视频 -c:v libx264 [-crf 23 或 -b:v 1M] -c:a copy 输出视频
。
-c:v libx264
使用 H264 编码。-crf
(Constant Rate Factor)用于控制转换质量,数值越小质量越高。-b:v 1M
用于指定码率(1 Mbps)(用 500k
表示 500 kbps),使用该选项会让程序无视 -crf
选项。-c:a copy
直接复制音频不做改动。
-preset slow
可以提高压缩率,-tune
可以进一步调节。
-profile:v baseline或main或high
也会有影响,默认为 high
ffmpeg -y -i input.mp4 -c:v libx264 -b:v 1M -pass 1 -an -f null /dev/null
ffmpeg -i input.mp4 -c:v libx264 -b:v 1M -pass 2 -c:a copy output.mp4
-threads
选项。
srt
字幕(可以开启关闭的),用 ffmpeg -i input.mp4 -scodec mov_text -i input.srt -c:v copy -c:a copy output.mp4
ffmpeg -i input.mp4 -vf "subtitles=input.srt" output.mp4
ffmpeg -i input.mp4 -vf "pad=width=iw:height=ih+120:color=black,subtitles=input.srt:force_style='MarginV=100,Alignment=10'" output.mp4