我试图将一个SRT文件和一个timecode值刻录(硬代码)到一个MP4文件,但没有效果。
我目前正在使用以下命令烧录srt和timecode:
烧伤SRT
ffmpeg -i input.mp4 -vf subtitles=subs.srt out.mp4烧伤时间码
ffmpeg -i input.mp4 -filter_complex "drawtext=fontfile=/Windows/Fonts/arial.ttf:x=320:y=main_h-50:fontsize=32:fontcolor='white':timecode='00\:00\:00\:00':rate=29.97" -y output.mp4但是,由于ffmpeg不允许将-vf和-filter_complex一起使用,所以我无法将两者合并到一个命令中。
有解决办法吗?
发布于 2015-09-25 16:44:01
你可以在一个系列中把过滤器链接在一起。这将创建一个过滤链。一系列连通的过滤链是一个过滤器图。
ffmpeg -i input.mp4 -vf "drawtext,subtitles" -c:a copy output.mp4发布于 2016-04-04 11:16:02
只是为了任何遇到这个qs的人。您可以使用.srt文件,就像我对.ass文件所做的一样,唯一的区别是.ass文件给了我们对字体、颜色和其他事情的更多控制。我找不到.srt,所以我将共享为我工作的.ass,我使用的是hls输出,但是您可以再次使用mp4 1:
ffmpeg -i INPUT_VIDEO_FILE.mp4 -profile:v baseline -level 4.0 -vf "scale=-2:360,subtitles='dynamic_subtitle.ass':force_style='FontName=Aaargh/Aaargh.ttf,PrimaryColour=&H664c4c4c" -start_number 0 -hls_time 10 -hls_list_size 0 -f hls /s3_temp/video_360.m3u8https://stackoverflow.com/questions/32763803
复制相似问题