video - ffmpeg 将字幕轨道设置为默认

标签 video ffmpeg subtitle

通过将 .ass 字幕轨道添加到带有 ffmpeg 的 mkv 视频,它不会被设置为默认轨道,因此在播放时您必须手动打开字幕。是否可以为字幕轨道设置默认标志?

使用的 ffmpeg 命令:

ffmpeg -i video.mp4 -i subtitles.ass -c:v libx264 -preset veryslow \
 -pix_fmt yuv420p10le -c:a copy -c:s copy output.mkv

请注意,我想保留 .ass 字幕格式,将字幕转换为 mov_text,就像这个类似问题中建议的那样: How to set default streams with ffmpeg

之后可以像这样使用 mkvpropedit 设置默认标志:

mkvpropedit output.mkv --edit track:s1 --set flag-default=1

但是有没有可能直接用 ffmpeg 来做呢?

最佳答案

我认为按照 this patch现在这是可能的。至少对我来说它适用于:

ffmpeg -i in.mp4 -i in.srt -c copy -disposition:s:0 default out.mkv

注意 -disposition:s:0 中的 s 在这种情况下代表 subtitle 而不是 stream。要按索引选择第二个 Steam ,请使用 -disposition:1

关于video - ffmpeg 将字幕轨道设置为默认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26956762/

相关文章:

stream - 如何使用 ffmpeg 设置默认流

ios - 更新 MapKit 注释副标题和图像

c - time_base 适用于视频但对音频有不良影响

ffmpeg - 如何使用 ffmpeg 和 c++ 将自制流发布到 rtmp 服务器?

video - 如何从 AVI 中提取视频层?

python - 使用 FFMPEG 从 FPS 不正确的视频和包含每帧时间戳的文件创建具有正确 FPS 的视频

android - 如何在 ExoPlayer2 中显示 VTT 字幕?

php - 如何使用 PHP 和 ffmpeg 在后台转换视频

javascript - 由于 Wistia 嵌入视频,页面加载速度太慢

css - 视频在 ipad 和 iphone (safari) 中无法以正确的宽度显示