遇到的ffmpeg使用
把字幕用硬编码的方式添加到视频里去
ffmpeg -i input.mp4 -vf subtitles=zh.srt output.mp4
分离出视频里面的声音
ffmpeg -i input.mp4 -vn -y -acodec copy output.aac
把一个声音加到一个视频里面去
ffmpeg -i input.mp4 -i input.aac -vcodec copy -acodec copy output.mp4
合并files.txt中写的视频
ffmpeg -f concat -i file.txt -c copy output.mp4
files.txt的格式如下:
file input1.mp4
file input2.mp4
批量转制一个文件夹下面的视频成另一个格式
for f in ./*.mp4; do ffmpeg -i $f -q 0 "${f%.*}.mts"; done
降低帧率来压制视频
先查看视频的帧率ffmpeg -i input.mp4
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.20.100
Duration: 00:06:14.19, start: 0.000000, bitrate: 1336 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1576x886 [SAR 1575:1576 DAR 1575:886], 1202 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
ffmpeg -i 高帧率视频.m4v -r 25 低帧率视频.m4v
给一个竖着的视频添加黑边 让它变成横着的视频
比如原来的视频是408*720,想在两侧添加黑边,使其变成1270*720的视频
计算需要添加的黑边的宽度x:
(408+2x):720 = 1280:720
x = 436
参数的顺序是:输出视频的宽、高、原内容X坐标 和 原内容Y坐标。
ffmpeg -i 竖着.mp4 -vf pad=1270:720:436:0:black 躺着.mp4
更改视频的分辨率
ffmpeg -i tterst.mp4 -vf scale=1920:1080 1111.mp4
更改音频的比特率
ffmpeg -i input.mp4 -ac 1 -ar 48000 -vcodec copy output.mp4