Приветствую.
У меня есть кусочки видео в mp4 фиксированной длины, поступающие ко мне с неравномерной частотой.
Я хочу составлять из этих кусочков MPD стрим, добавляя их к плейлисту по мере появления.
Использую GPAC version 2.3-DEV-rev832-g799d9e547-master. ОС Убунту 22
Делаю по
инструкции:
gpac -i playlist.m3u:ka -o live.mpd:dmode=dynamic
Для начала просто хочу запустить стрим.
Плейлист очень простой
##begin playlist
segment_0000.mp4
segment_0001.mp4
##end playlist
Запускаю, генерятся m4s файлы, и live.mpd
Пытаюсь проиграть mpd:
ffplay live.mpd
Ничего не играет, куча ошибок:
[dash @ 0x7f2228000cc0] Failed to open fragment of playlist f=0/0
Last message repeated 2188 times
[dash @ 0x7f2228000cc0] Failed to open fragment of playlist f=0/0
или через mpv
mpv live.mpd
Ничего не играет, сотни сообщений:
[ffmpeg/demuxer] dash: Failed to open fragment of playlist
[ffmpeg/demuxer] dash: Failed to open fragment of playlist
Сам MPD файл:
<?xml version="1.0"?>
<!-- MPD file Generated with GPAC version 2.3-DEV-rev832-g799d9e547-master at 2024-01-29T19:47:00.512Z -->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.000S" type="dynamic" availabilityStartTime="2024-01-29T19:47:00.510Z" publishTime="2024-01-29T19:47:00.512Z" minimumUpdatePeriod="PT0H0M1.000S" timeShiftBufferDepth="PT0H0M30.000S" profiles="urn:mpeg:dash:profile:full:2011">
<ProgramInformation moreInformationURL="https://gpac.io">
<Title>live.mpd generated by GPAC</Title>
</ProgramInformation>
<Period id="DID1" start="PT0H0M0.000S">
<AdaptationSet segmentAlignment="true" maxWidth="1280" maxHeight="720" maxFrameRate="25" par="16:9" startWithSAP="1">
<SegmentTemplate media="segment_0000_dash_track1_$Number$.m4s" initialization="segment_0000_dash_track1_init.mp4" timescale="12800" startNumber="1" duration="12800"/>
<Representation id="1" mimeType="video/mp4" codecs="avc1.64001F" width="1280" height="720" frameRate="25" sar="1:1" bandwidth="1812813">
</Representation>
</AdaptationSet>
<AdaptationSet segmentAlignment="true" startWithSAP="1">
<SegmentTemplate media="segment_0000_dash_track2_$Number$.m4s" initialization="segment_0000_dash_track2_init.mp4" timescale="44100" startNumber="1" duration="44100"/>
<Representation id="2" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="44100" bandwidth="1407">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
</Representation>
</AdaptationSet>
</Period>
</MPD>
Вопрос, что я делаю не так? Как заставить работать?