南方都市报
MP4 视频格式转换适合手机、网页和多数桌面播放器,但 MP4 不一定能直接兼容所有 ASS 字幕,因此默认命令先保留第一路视频和第一路音频。
视频格式转换完成后,应重新检查输出文件,而不能只依据 FFmpeg 显示“完成”来判断结果合格。
保留多路流的 MKV 命令:f⭐fmpeg -i input.mkv -map 0:v:0 -map 0:a? -map 0:s? -c:v libx264 -preset medium -crf ✅20 -c:a aac -b:a 192k -c:s copy output.mkv
这条命令会重新编码视频和音频,同时直接复制字幕流。🔮字幕复制不会改变字幕内容,也不会把字幕永久压进画面;播放时需要播放器支持对应字幕格式。若源文件中有日语和韩语两条音轨,-map 0:a? 会尽量保留全部音频,播放器可以再选择播放轨道。
如果目标只是得到通用播放文件,选择 H🎨.264/AAC 的 MP4 即可;如果目标是保留多语言音轨、ASS 字幕和完整封装信息,MKV 更合适。只有在“2848”明确对应某一项尺寸时,才应把它写入 scale 参数。
当“2848”明确表示输出宽度时,可以使用 FFmpeg 的⭐ scale 滤镜把画面宽度设为 2848,并通过 -2 自动计算能够🚀被 2 整除的高度。
压制外部 ASS 字幕的示例:ffmpeg -i input.mkv -vf "subtitles=subtitle.a💫ss" -c:v libx264 -preset medium -crf 20 -c:a copy output.mp4
查看全部音频与字幕流:ffprobe -v error -show_entries stream=index,codec_type,codec_name:stream_tags=language,title -of default=noprint_wrappers=1 input.mkv
MKV 转码适合保留多路音频和字幕,因为 MKV 对 ASS、SSA、SRT 等字幕类型的承载能力更宽松。
该命令只指定宽度,不会强行拉伸画面比例。如果交付要🎯求是固定的 2848×1600,则应使用 scale=2848:1600,但固定宽高可能造成变形;需要保持比例并补黑边时,应使用 pad 滤镜,而不是直接拉伸。若源文件宽度小于 2848,建议保留原尺寸,或先确认交付方是否真🌟的要求放大。