Using ffmpeg, I am burning subtitles to a movie using the following:
ffmpeg -i inputfile.mov -vf "subtitles=subtitles.srt:force_style='Alignment=9,Fontsize=8,Outline=0'" $outputfile.mov
Is there a way of delaying/shifting the subtitles start point? Eg have all the subs start 2 seconds later?
If the subtitle is a separate file called subtitle.srt, you can use this command: ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi If the subtitle is embedded in the container video.mkv, you can do this: ffmpeg -i video.mkv -vf subtitles=video.mkv out.avi
you can use -map 0 to ensure that all streams are copied. If it is not possible with the format, ffmpeg should then error out. -map 0 tells ffmpeg/libav to include all streams, not just those for which you defined convecsion rules. Normally -map is used to define stream mapping - i.e. stream 1 in the input should become stream 0 in the output.
To remove subtitle stream without re-encoding video and audio shortest command would be: ffmpeg -i input.mkv -sn -c copy output.mkv
Normally -map is used to define stream mapping - i.e. stream 1 in the input should become stream 0 in the output. With just -map 0 you tell ffmpeg/libav to take all streams without shuffling. Show activity on this post. If you just want to do a simple conversion to mp4 you can use VLC.
I'm not sure if this is possible in a single invocation, but you can always generate a delayed version of subtitles.srt
,
ffmpeg -itsoffset 2 -i subtitles.srt -c copy subtitles_delayed.srt
and then burn it to the movie.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With