FFmpeg
安装
sudo zypper install ffmpeg-4
用法
混音视频和音频
如果您有一个没有声音的视频文件和一个音频文件,并且您不想重新编码任何内容
ffmpeg -i video.mp4 -i audio.mp3 -c copy output.mp4
如果您想重新编码音频
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4
如果视频已经有音频但您想替换它
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4
-c copy: 复制音频和视频,不进行重新编码-c:v copy: 复制视频,不进行重新编码-c:a aac: 使用 AAC 编解码器重新编码音频-map 0:v:0: 使用 #0 (第一个) 文件的 #0 (第一个) 视频轨道-map 1:a:0: 使用 #1 (第二个) 文件的 #0 (第一个) 音频轨道
旋转视频
有些相机没有 G 传感器,无法自动旋转捕获的视频。为了以正确的方向观看视频,您可以使用 ffmpeg 旋转它。
推荐的方法是设置旋转元数据。它速度很快,在 SSD 上只需不到一秒钟。
ffmpeg -i input.mp4 -map_metadata 0 -metadata:s:v rotate="90" -codec copy output.mp4
但是,一些视频播放器不支持元数据旋转。在这种情况下,您需要重新编码视频。这需要更多的时间,并且可能会损失一些视频质量,但它更兼容和可移植。
ffmpeg -i input.mp4 -map_metadata 0 -vf "transpose=1" output.mp4
-map_metadata 0: 保留所有原始元数据,例如日期时间、位置和相机型号-metadata:s:v rotate="90": 设置旋转元数据,范围从 0 到 360-vf "transpose=1": 旋转并重新编码视频- 0 - 逆时针旋转 90 度并垂直翻转
- 1 - 顺时针旋转 90 度
- 2 - 逆时针旋转 90 度
- 3 - 顺时针旋转 90 度并垂直翻转
- "transpose=1,transpose=1" - 旋转 180 度