Hallo monarc99,
das konvertierte Video läuft. ffmpeg konvertiert bei mir allerdings nur ca. die ersten 2 Minuten des Videos.
Das ist die Ausgabe von ffmpeg:
[mp3 @ 0xcd7580] Header missing Last message repeated 5 times
[mpeg2video @ 0xcd86a0] Invalid frame dimensions 0x0.
[mp3 @ 0xcd7580] Header missing
Last message repeated 120 times
[mpegts @ 0xcd4160] decoding for stream 0 failed
[mpegts @ 0xcd4160] PES packet size mismatch
Last message repeated 2 times
[mpegts @ 0xcd4160] Could not find codec parameters for stream 0 (Audio: mp3, 0 channels, s16p): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'Django.ts':
Duration: 00:02:32.68, start: 30209.883278, bitrate: 4462 kb/s
Alles anzeigen
Ok, wegen den 2 min: ffmpeg erkennt wohl auch nur 2min. Zeigt tvheadend Fehler bei der Aufnahme im Webinterface an?
Wegen dem Abspielproblem: sieht man oben an den anderen Meldungen. Der Stream geht nicht mit einem Keyframe los und das bringt die Decoder durcheinander. Den einen mehr als andere, deshalb spielt der eine Decoder die Datei, der andere Decoder nicht.
Dazu muss man etwas Theorie wissen. Videostreams bestehen aus GOPs (Group of Pictures). Also z.B. 250 Bilder (bei 25fps = 10 sec) bilden eine Einheit. Mit einem Keyframe an Anfang, und dann 249 Bilder, die von dem Keyframe abhängen. Geht das Keyframe verloren, sind die restlichen 249 Bilder fast nur noch Datenmüll.
Bei einer Aufnahme von TVheadend sagt du ihm, dass er den Stream ab einer bestimmten Zeitpunkt aufnehmen und auf Platte speichern soll. Ist zu dem Zeitpunkt gerade ein Keyframe (oder nicht weit danach) im Stream (und somit am Anfang der Aufzeichnung), spielt ein Decoder die Datei in der Regel bei dir. Befindet sich am Anfang der Aufnahmedatei nur "Datenmüll" eines zerschnittenen GOPs, steigen viele Decoder aus.
Einige Decoder hören sofort auf (z.B. nvdec killt mir mpv mit einen assert und killt mir den ganzen Player gleich mit), andere Decoder (z.B. der mpeg2 Software Decoder von ffmpeg) arbeiten sich solange durch den Müll, bis sie wieder ein Keyframe finden. Und spielen dann die Datei.
Was du machen kannst:
1) Wenn du Fehler in den Aufnahmen hast (zeigt tvheadend im Webinterface bei jeder Aufnahme an), diese möglichst beseitigen. Bessere Kabel, Satellit besser einstellen, usw ...
2) alle Decoder probieren, welcher am besten mit fehlerbehafteten Dateien klar kommt
(ich verwende z.B. mpv und da habe ich ihm verboten, die HW Beschleunigung (Linux/Nvidia Karte: vdpau/nvdec) bei Mpeg2 Dateien zu verwenden. Der Software mpeg2 Decoder von ffmpeg ist deutlich robuster.
3)Wenn die Aufnahme zuviele Fehler enthält, ts-doctor probieren. Oder z.B. mit Handbrake neu kodieren, handbrake eignet sich gut um Aufnahmen zu retten.
Und du kannst mal probieren, ob folgender ffmpeg Befehl mehr als 2min bearbeitet (kodiert aber und kopiert den Stream nicht nur, dauert also):
ffmpeg -loglevel verbose -y -err_detect ignore_err -i Aufnahme.ts -map 0:v -map 0:1 -vsync 1 -dts_delta_threshold 100 -map_metadata 0 -threads 0 test.mkv