FFMPEG - 转换具有多个音频和字幕的视频
Posted
技术标签:
【中文标题】FFMPEG - 转换具有多个音频和字幕的视频【英文标题】:FFMPEG - convert video with multiple audio and subtitles 【发布时间】:2021-05-27 14:15:57 【问题描述】:我有一个包含 1x 视频轨道、3x 音频轨道和 2x 字幕轨道的 MKV 视频文件。
现在,我使用下面的代码将视频转换为 x265
,但遗憾的是无法控制要转换的音频和字幕。有人可以建议我如何调整语句以使用音轨 #0:3 和副标题 #0:4?
ffmpeg -i INPUT.mkv -c:v libx265 -c:a copy -x265-params crf=25 OUTPUT.mkv
这是.mkv
文件包含的内容:
Stream #0:0(jpn): Video: h264 (High), yuv420p(progressive), 1280x692 [SAR 1:1 DAR 320:173], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
title : English 2.0 channel AAC (Original)
Stream #0:2(eng): Audio: aac (LC), 48000 Hz, stereo, fltp
Metadata:
title : English 2.0 channel AAC (New)
Stream #0:3(jpn): Audio: aac (LC), 48000 Hz, stereo, fltp
Metadata:
title : Japanese 2.0 channel AAC
Stream #0:4(eng): Subtitle: ass (default)
Metadata:
title : Signs/Karaoke [Kametsu]
Stream #0:5(eng): Subtitle: ass
Metadata:
title : Re-styled [Kametsu]
Stream #0:6: Attachment: ttf
Metadata:
filename : nyala.ttf
mimetype : application/x-truetype-font
Stream #0:7: Attachment: ttf
Metadata:
filename : fontastique.ttf
mimetype : application/x-truetype-font
Stream #0:8: Attachment: ttf
Metadata:
filename : ARIALNB.TTF
mimetype : application/x-truetype-font
Stream #0:9: Attachment: ttf
Metadata:
filename : BorisBlackBloxx.ttf
mimetype : application/x-truetype-font
Stream #0:10: Attachment: ttf
Metadata:
filename : CODE2000.TTF
mimetype : application/x-truetype-font
Stream #0:11: Attachment: ttf
Metadata:
filename : CronosPro-Semibold.ttf
mimetype : application/x-truetype-font
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
Stream #0:1 -> #0:1 (copy)
Stream #0:4 -> #0:2 (ass (ssa) -> ass (ssa))
非常感谢
【问题讨论】:
【参考方案1】:使用-map
选项。这两个命令会做同样的事情,但使用不同的-map
语法:
ffmpeg -i INPUT.mkv -map 0:0 -map 0:3 -map 0:4 -c:v libx265 -c:a copy -c:s copy -x265-params crf=25 OUTPUT.mkv
ffmpeg -i INPUT.mkv -map 0:v -map 0:a:2 -map 0:s:0 -c:v libx265 -c:a copy -c:s copy -x265-params crf=25 OUTPUT.mkv
请参阅FFmpeg Wiki: Map 了解更多信息。
【讨论】:
以上是关于FFMPEG - 转换具有多个音频和字幕的视频的主要内容,如果未能解决你的问题,请参考以下文章
FFmpeg基础库编程开发学习笔记——音频常见格式及字幕格式
使用PowerShell和FFMPEG将音频和字幕源条带化并添加到INDEX.M3U8
FFmpegffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )