web-dev-qa-db-ja.com

FFmpeg HLS muxer.tsファイル名の形式

HLS muxer を使用するときに、シーケンス番号ではなく日付/時刻(任意の形式)で名前が付けられた.tsファイルを持つことは可能ですか?もしそうなら、それはどのように行うことができますか?

ffmpeg -i - -hls-some-option-here test_stream.m3u8

test_stream_20141116174310.ts
test_stream_20141116174312.ts
test_stream_20141116174314.ts
test_stream_20141116174316.ts
3
Brad

segment muxer を参照してください。これは、セグメンテーションのより一般的で柔軟な実装を提供し、HLSセグメンテーションを実行するために使用できます。

セグメントマルチプレクサは、-strftime 1(デフォルトでは無効)を使用したstrftime拡張をサポートしています。これにより、時間の作成によってセグメントに名前を付けることができます。

man ffmpeg-formatsから:

strftime 1|0

Strftime関数を使用して、書き込む新しいセグメントの名前を定義します。これを選択した場合、出力セグメント名にはstrftime関数テンプレートが含まれている必要があります。デフォルト値は0です。

例:

ffmpeg -i input.mkv -codec copy -map 0 -f ssegment -strftime 1 \
-segment_list test_stream.m3u8 -segment_time 10 test_stream_%Y%m%d%H%M%S.ts

stream_segmentは、ストリーミング出力形式への書き込みに使用されるマルチプレクサのバリアントです。つまり、グローバルヘッダーを必要とせず、出力などに推奨されます。 MPEGトランスポートストリームセグメントへ。 ssegmentは、stream_segmentの短いエイリアスです。

2
llogan

Ffmpegを使用してtsファイルにタイムスタンプを追加するオプションはありません。残っているオプションはffmpegコードを変更することだけです。 libavformat /segment.cファイルを変更できます。 segment_file()関数のentry->filename変数を変更します。

2
Alam