使用ffmpeg,我使用以下方式烧录一部电影的字幕:
ffmpeg -i inputfile.mov -vf "subtitles=subtitles.srt:force_style='Alignment=9,Fontsize=8,Outline=0'" $outputfile.mov是否有一种推迟/改变字幕起点的方法?2秒后所有的潜艇都开始了吗?
发布于 2019-09-06 12:17:45
我不确定这在一次调用中是否可行,但是您总是可以生成延迟版本的subtitles.srt,
ffmpeg -itsoffset 2 -i subtitles.srt -c copy subtitles_delayed.srt然后烧到电影里去。
发布于 2021-04-10 16:23:24
示例,用于切割外部.srt字幕文件和/或与生成的.mkv视频文件(现在有内部subs )一起使用,和/或提取所切割的内部子文件,然后/或通过代理(或其他东西)将其(裁剪.srt文件)同步为原始文件(.mp4或.mkv )。
首先,将.mp4和.srt组合成一个.mkv容器(如果还没有):
ffmpeg -hide_banner -y -i "original.mp4" -i "original.srt" -c copy -c:s srt -metadata:s:s:1 language=eng -map 0 -map 1 -map_metadata 0 "original_subs.mkv"然后根据你想要剪的电影(或字幕)的片段来剪裁它:(这样的字幕就像完整的原版一样,以完美的时间剪裁)。视频与ext。subs,其他方式会产生计时错误。)
ffmpeg -hide_banner -y -ss 01:19:16 -t 00:03:01 -i "original_subs.mkv" -c copy "original_subs_cut.mkv"要获得剪切的.srt文件:
ffmpeg -hide_banner -y -i "original_subs_cut.mkv" "original_subs_cut.srt"然后剪切和烧录原始电影,连同剪切的.srt文件。
ffmpeg.exe -hide_banner -y -ss 01:19:16 -t 00:03:01 -i "original_subs.mkv" -filter_complex "subtitles=f='original_subs_cut.srt':force_style='FontName=Arial,FontSize=32,Shadow=1'" -strict -2 -c:s mov_text -c:v h264_nvenc -profile:v high -pix_fmt yuv420p -bufsize 20M -bf:v 3 -b:v 1.0M -preset slow -rc:v vbr_hq -rc-lookahead 32 -shortest "original.en.mp4"调整时间,名称,字幕参数(这里给出的例子),改变编码器/编码器设置等为自己的格式。我在这里编辑了一些语法(网站编辑器),所以在某个地方可能会有一个错误,但如果是这样的话,您将修复.另外,ffmpeg命令的其他组合/命令也可以提供相同和/或其他想要的结果。如果您获得了一个更快的方法(这是非常快的,因为复制),通过组合选项(比如定时和转换到.mkv容器),请告诉我.我暂时还没试过。
https://stackoverflow.com/questions/57821502
复制相似问题