ffmpeg设置字幕轨道为默认值

时间:2014-11-16 12:09:45

标签: video ffmpeg subtitle

通过使用ffmpeg将.ass字幕轨道添加到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吗?

2 个答案:

答案 0 :(得分:17)

我认为根据this patch现在可以实现。至少对我而言,它适用于:

s

注意-disposition:s:0中的-disposition:1代表字幕而非。要通过索引选择第二个蒸汽,请使用public class Temperature { public double degrees; public char scale; public double degreesC = (5*(degrees - 32))/9; public double degreesF = (9*(degrees)/5) + 32; Temperature temp1 = new Temperature(degrees); public static void main(String[] args) { Temperature gTF = new Temperature(); gTF.getTemperatureFahrenheit(); Temperature gTC = new Temperature(); gTC.getTemperatureCelsius(); Temperature sD = new Temperature(); sD.setDegrees(degrees); Temperature sS = new Temperature(); sS.setScale(scale); Temperature sDS = new Temperature(); sDS.setDegreesScale(degrees, scale); Temperature eqls = new Temperature(); eqls.equals(temp1); Temperature gT = new Temperature(); gT.greaterThan(temp1); Temperature lT = new Temperature(); lT.lessThan(temp1); Temperature tS = new Temperature(); tS.toString(); }

答案 1 :(得分:7)

你可以使用'强制'而不是默认强制vlc播放

function doThings() {
   //the things i want to happen (or increment)
}

setTimeout(function() {
    doThings();
}, 1000);//milliseconds