Я пытаюсь преобразовать файл MP3 в фрагментированный MP4 следующим образом:
ffmpeg -i input.mp3 -strict experimental -acodec aac -b:a 256k -f mp4 \
-movflags faststart+frag_keyframe+empty_moov+separate_moof output.mp4
Однако, используя Bento4, я вижу, что есть только один гигант mdat
объект вместо серии таких:
[ftyp] size=8+24
major_brand = isom
minor_version = 200
compatible_brand = isom
compatible_brand = iso2
compatible_brand = iso6
compatible_brand = mp41
[moov] size=8+701
...
[moof] size=8+62364
...
[mdat] size=8+5794679
[mfra] size=8+59
[tfra] size=12+31, version=1
track_ID = 1
length_size_of_traf_num = 0
length_size_of_trun_num = 0
length_size_of_sample_num = 0
[mfro] size=12+4
mfra_size = 67
Я думаю, что я хочу это:
(источник)
Но я не могу получить это от ffmpeg
.
Я нашел несколько других вариантов здесь, например
$ ffmpeg -h muxer=ismv
...
-frag_duration <int> E.... Maximum fragment duration
-min_frag_duration <int> E.... Minimum fragment duration
-frag_size <int> E.... Maximum fragment size
но игра с ними не изменила результат.
Как я могу создавать фрагменты определенного вида, например. ~ 5 секунд каждый?