2

SRT ファイルとタイムコード値を MP4 ファイルに書き込み (ハードコード) しようとしていますが、うまくいきません。

現在、以下のコマンドを使用して srt とタイムコードを焼き付けています。

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 を一緒に使用できないため、2 つを 1 つのコマンドに結合することはできません。

回避策はありますか?

4

2 に答える 2

1

この質問に出くわした人のために。.ass ファイルの場合と同じ方法で .srt ファイルを使用できます。唯一の違いは、.ass ファイルを使用すると、フォントの色やその他のことをより詳細に制御できることです。.srt が見つからないので、動作している .ass を共有します。hls 出力を使用していますが、mp4 を再度使用できます。

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.m3u8
于 2016-04-04T11:16:02.450 に答える