HINWEIS: Diese Frage wird durch diese neue Frage ersetzt , bitte antworten Sie nicht unter diesem Beitrag.
Was ist passiert?
[Bearbeiten] DVB-Datei ('Datei1') im TS-Format von H.264/AC3@50i kann nicht richtig in eines der folgenden Formate remuxt werden: isom/mp4; QuickTime-MOV; Matroska
Eine andere DVB-Datei ('Datei2') im TS-Format von MPEG-2/MP2@59.94i kann ordnungsgemäß in eines der folgenden Formate remuxt werden: MPEG; isom/mp4. QuickTime MOV und Matroska werden nicht ausprobiert.
[Update] Noch ein weiteres im TS-Format von H.264/AAC@29.97p kann problemlos in isom/mp4 remuxt werden, ohne dass andere ffmpeg-Schalter als -i, -c copy erforderlich sind.
Technische Details
FFMpeg meldet Millionen der folgenden Fehlermeldungen, mit oder ohne jede mögliche Kombination dieser Schalter: -fflags +genpts, -fflags +igndts, -fflags +discardcorrupt
ffmpeg.exe -fflags +igndts -fflags +genpts -fflags +discardcorrupt -i INPUT -c copy -format mp4 OUTPUT
AVIDemux schließt den Betrieb mit falschen Metadaten und fehlerhafter Wiedergabe ab. Dateieigenschaften und Wiedergabeverhalten ähneln denen, die von FFMpeg erstellt wurden
[Bearbeiten] MP4box meldet 2 Mal die folgenden Warnungen und erzeugt ein gezacktes Bild mit falscher Bildrate, wie oben erwähnt. Wenn Sie das resultierende Video sehr genau betrachten, sehen Sie das Bild mit vielen Blöcken; dies ist in der Originaldatei nicht zu finden.
mp4box.exe -fps 50 -add "INPUT#video" OUTPUT
Meine Fragen im Detail
1 Was in aller Welt ist "DTS" und "PTS"? Sie scheinen einen erfolgreichen Remux zu behindern.
2 Ist dies auf eine beschädigte Datei oder einen Softwarefehler zurückzuführen (siehe https://trac.ffmpeg.org/ticket/4768 und https://trac.ffmpeg.org/ticket/502 )?
3 Wenn es sich um einen Softwarefehler handelt, was sind die Problemumgehungen?
4 Jede praktikable Lösung, die MPEG Transport Streams in MP4 remuxt, ist willkommen. MPEG-TS nimmt zu viel Overhead in Anspruch und wird plattform- und systemübergreifend nicht gut unterstützt.
Diagnoseinformationen
– MediaInfo-Dump von Datei1, Datei2 und Datei1, remuxed in mp4 von FFMpeg
http://pastebin.ca/3966322
Um einen Teil Ihrer Frage zu beantworten (und ein paar andere Abkürzungen hinzuzufügen, auf die Sie stoßen werden):
MPEG-Elementarströme ordnen die Frames für die Übertragung neu. Das PTS gibt die Reihenfolge an, in der die Rahmen wieder zusammengesetzt werden sollten. Der DTS teilt dem Decoder mit, ob ein Frame decodiert werden muss, bevor er angezeigt wird (weil ein P- oder B-Frame darauf verweist). PCR oder SCR sind die Zeitskala, auf die sich PTS und DTS beziehen.
tstools und andere Transportstromanalysatoren können Ihnen dabei helfen festzustellen, ob das PCR/PTS/DTS-Problem in der Quelldatei liegt oder nicht.
Gyan
Benutzer786008
Gyan
store method
von file1 ist ungewöhnlich. Versuche es mit ffmbc . Wenn Sie nicht kompilieren können, holen Sie sich eine ältere Binärdatei von videohelp.com/software/ffmbcBenutzer786008
-mpegts_service_type advanced_codec_digital_hdtv -mpegts_m2ts_mode false -mpegts_flags system_b
; funktioniert in FFMbc mit-fflags +genpts
angegeben. TS→mp4 erfolgreich in FFMbc (0.7.2) mit-fflags +genpts -f mp4
angegeben. Der ffmbc-Hack funktionierte für diese Datei und einige andere, der Rest schlug immer noch fehl. Das Problem scheint sich auf Zeitstempel zu konzentrieren. Eine neue Frage wurde veröffentlicht, um diese zu ersetzen.