ffmpeg не генерирует пропускную способность в моем файле mpd (тире)

307
Maverickk

Мы разрабатываем встроенный проигрыватель, который транслируется по протоколу DASH. Одна остановка - сначала преобразовать все медиафайлы, отправленные пользователем, в MP4 (h264), проблема в том, что когда ffmpeg генерирует манифест для DASH (файл MPD), он не включает значение полосы пропускания для сегмента видео. Аудио поставляется с пропускной способностью.

Отсутствие пропускной способности для видео сегмента, заставляет плеер не воспроизводить видео.

Как я могу убедиться, что ffmpeg увеличит пропускную способность?

команда ffmpeg:

segment_cmd = [ 'ffmpeg -i ' ' -c copy', ' -c:v libx264', ' -x264-params "nal-hrd=cbr"', ' -vf scale=-1:', ' -b:v 1M', ' -minrate 1M', ' -maxrate 1M', ' -bufsize 2M', ' -use_template 1', ' -init_seg_name init-stream\$RepresentationID\$-$Bandwidth\$.m4s', ' -media_seg_name chunk-stream\$RepresentationID\$-\$Bandwidth\$-\$Number\$.m4s', ' -adaptation_sets "id=0,streams=v id=1,streams=a"', ' -f dash .mpd' ] 

файл MPD без BANDWIDTH

<?xml version="1.0" encoding="utf-8"?> <MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT1M30.0S" minBufferTime="PT4.9S"> <ProgramInformation> </ProgramInformation> <Period start="PT0.0S"> <AdaptationSet contentType="video" segmentAlignment="true" bitstreamSwitching="true" frameRate="24000/1001"> <Representation id="0" mimeType="video/mp4" codecs="avc1.64001f" width="1280" height="720" frameRate="24000/1001"> <SegmentTemplate timescale="24000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1"> <SegmentTimeline> <S t="0" d="143143" /> <S d="127127" /> <S d="121121" /> <S d="116116" /> <S d="126126" /> <S d="89089" /> <S d="150150" /> <S d="106106" /> <S d="152152" /> <S d="82082" /> <S d="133133" /> <S d="107107" /> <S d="154154" /> <S d="81081" /> <S d="116116" /> <S d="140140" /> <S d="118118" /> <S d="99099" /> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> <AdaptationSet contentType="audio" segmentAlignment="true" bitstreamSwitching="true"> <Representation id="1" mimeType="audio/mp4" codecs="mp4a.40.2" bandwidth="128000" audioSamplingRate="44100"> <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" /> <SegmentTemplate timescale="44100" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1"> <SegmentTimeline> <S t="0" d="260096" /> <S d="233472" /> <S d="222208" /> <S d="214016" /> <S d="231424" /> <S d="163840" /> <S d="275456" /> <S d="195584" /> <S d="279552" /> <S d="150528" /> <S d="244736" /> <S d="196608" /> <S d="283648" /> <S d="148480" /> <S d="214016" /> <S d="257024" /> <S d="217088" /> <S d="185344" /> </SegmentTimeline> </SegmentTemplate> </Representation> </AdaptationSet> </Period> </MPD> 
0
Не могли бы вы показать полный вывод командной строки? slhck 5 лет назад 0
здесь вы идете: [ссылка] (https://pastebin.com/H9GbYBZB) Maverickk 5 лет назад 0
Похоже, поток не имеет установленной полосы пропускания - не могли бы вы попробовать последнюю версию ffmpeg? Я не мог воспроизвести проблему здесь. slhck 5 лет назад 0
Я попробовал с последней версией и предыдущей версией, а также .. Maverickk 5 лет назад 0
Доступен ли входной файл для тестирования? Возможно, отчет об ошибке на трекере FFmpeg будет иметь смысл: https://trac.ffmpeg.org/ slhck 5 лет назад 0

0 ответов на вопрос

Похожие вопросы