ffmpeg 多媒体
2024-11-28
# 提取音频
ffmpeg -i 夏洛的网_中文.mp4 -q:a 0 -map a 夏洛的网_中文.mp3
# 合并音频
ffmpeg -i 夏洛的网_英语.mp4 -i 夏洛的网_中文.mp3 -map 0:v -map 1:a -map 0:a -c:v copy -c:a copy 夏洛的网.mp4
# 给不同音轨取个名字
ffmpeg -i 夏洛的网2.mp4 -map 0 -c copy -metadata:s:a:0 title="中文" -metadata:s:a:1 title="English" 夏洛的网3.mp4
# 添加字幕(总是报错,没有成功)
ffmpeg -i 夏洛的网3.mp4 -i 夏洛的网_中文.srt -i 夏洛的网_英文.srt -map 0 -map 1 -map 2 -c:v copy -c:a copy -c:s srt \
-metadata:s:s:0 language=chi -metadata:s:s:0 title="中文" \
-metadata:s:s:1 language=eng -metadata:s:s:1 title="English" \
夏洛的网4.mp4
虽然字幕没有成功,但是播放器会自动加载,也还好。
PS:字幕其实也是播放器自动在线匹配,然后我选择保存在本地的。
视频处理 ffmpeg
2021-08-28
ffprobe
ffprobe movie.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'movie.mp4':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isomavc1
creation_time : 2020-02-20T06:07:54.000000Z
Duration: 01:43:14.16, start: 0.000000, bitrate: 2844 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1495 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
creation_time : 2020-02-20T06:07:54.000000Z
Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 44100 Hz, stereo, fltp, 448 kb/s (default)
Metadata:
creation_time : 2020-02-20T06:08:03.000000Z
Side data:
audio service type: main
Stream #0:2(und): Audio: ac3 (ac-3 / 0x332D6361), 44100 Hz, 5.1(side), fltp, 448 kb/s (default)
Metadata:
creation_time : 2020-02-20T06:09:02.000000Z
Side data:
audio service type: main
Stream #0:3(und): Audio: ac3 (ac-3 / 0x332D6361), 44100 Hz, 5.1(side), fltp, 448 kb/s (default)
Metadata:
creation_time : 2020-02-20T06:09:29.000000Z
Side data:
audio service type: main
ffmpeg
ffmpeg -loglevel info -i movie.mp4 -ss 00:29:08.0 -to 00:31:25.0 -s 1280x720 -c copy -map 0:v:0 -map 0:a:0 -map 0:a:1 -map 0:a:2 test.mp4
# 输入,复制,设置第一个音频流为默认,输出
# 发现其他几个音频流不见了,输出文件中只有一个音频流
ffmpeg -i movie.mp4 -c copy -disposition:a:1 default 冰雪奇缘2_new.mp4
ffmpeg -i movie.mp4 -c copy -map 0:v:0 -map 0:a:1 -map 0:a:0 -disposition:a:0 default -disposition:a:1 0 冰雪奇缘2_new2.mp4
解析:输入,复制(不重新编码),
-map 0:v:0
-map 0:a:1
-map 0:a:0
-c / -codec
-c:v
-c:a
-c:s
-c:d
[mp4 @ 0x556a8afca7c0] track 1: codec frame size is not set
ffmpeg -i test.mp4 -frames 1 -f image2 /tmp/image.png
ffmpeg 视频处理 LinuxTools
2021-04-22
想写几个常用的 ffmpeg 命令作个分享,又想起来还有 convert,pwgen 等命令,干脆搞一个 Linux 工具箱系列,总结一下为什么我被锁定在 Linux 平台上无法自拔了。