ffmpeg generiert keine Bandbreite in meiner mpd-Datei (Bindestrich)
385
Maverickk
Wir entwickeln einen eingebauten Player, der über das DASH-Protokoll gestreamt wird. Zunächst müssen alle vom Benutzer gesendeten Medien nach MP4 (h264) konvertiert werden. Wenn ffmpeg das Manifest für die DASH (MPD-Datei) erstellt, enthält es nicht den Bandbreitenwert für das Videosegment. Das Audio kommt mit der Bandbreite.
Das Fehlen der Bandbreite für das Videosegment führt dazu, dass der Player das Video nicht abspielt.
Wie kann ich sicherstellen, dass ffmpeg die Bandbreite enthält?
ffmpeg Befehl:
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' ]
die MPD-Datei ohne 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>
Könnten Sie bitte die vollständige Befehlszeilenausgabe anzeigen?
slhck vor 5 Jahren
0
hier gehts: [link] (https://pastebin.com/H9GbYBZB)
Maverickk vor 5 Jahren
0
Scheint, als hätte der Stream keine Ausgabebandbreite eingestellt - könnten Sie es mit einer aktuellen Version von ffmpeg versuchen? Ich konnte das Problem hier nicht reproduzieren.
slhck vor 5 Jahren
0
Ich habe es auch mit der neuesten Version und einer vorherigen Version versucht.
Maverickk vor 5 Jahren
0
Ist die Eingabedatei zum Testen verfügbar? Möglicherweise wäre ein Fehlerbericht über den FFmpeg-Problem-Tracker sinnvoll: https://trac.ffmpeg.org/
slhck vor 5 Jahren
0
0 Antworten auf die Frage
Verwandte Probleme
-
2
Wie bearbeite ich MP4 / H264-Videodateien in Sony Vegas Platinum 6?
-
1
Video für Android mit Adobe Media Encoder konvertieren
-
4
Verbinden Sie zwei h.264-Filmdateien und fügen Sie Kapitel zusammen.
-
2
Wie kann ich eine VRO-Datei in eine AVI-Datei kodieren?
-
3
Wie kann ich mit Python / AWK / SED ein Inhaltsverzeichnis für ein Markdown-Dokument erstellen?
-
1
Wie kann ich Probleme mit Interlaced-Video-Ruckeln / -Schnipsen bei der Wiedergabe auf DVD-Playern b...
-
1
So installieren Sie Markdowns Erweiterungen von Python
-
9
Ist Python nur für das Erstellen von Backends bei der Erstellung von Websites?
-
4
Um Python in einer HTML-Datei ähnlich wie PHP auszuführen
-
2
So installieren Sie Gaphor by Easy_install und seine Abhängigkeiten von MacPorts