datei.ts nach datei.mkv konvertieren mit ffmpeg

Sound, Digitalkameras, TV+Video und Spiele.
wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von wckl » 12.11.2021 14:30:50

Hallo,
ich habe viele Dateien.ts die ich nach Dateien.mkv konvertieren möchte.

Mit HandBrake habe ich schon einiges gemacht, frage mich aber ob es mit ffmpeg nicht ggf. besser geht.
Mein Versuch ffmpeg zu verstehen ist bisher gründlich gescheitert.

die vorhandene Datei.ts wird von ffmpeg so analysiert:

Code: Alles auswählen

ffmpeg -i Datei.ts
...
Input #0, mpegts, from 'datei.ts':
  Duration: 00:23:43.26, start: 23227.535022, bitrate: 6059 kb/s
...  
  Stream #0:0[0x157d]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
  Stream #0:1[0x157e](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s
  Stream #0:2[0x157f](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 192 kb/s (visual impaired) (descriptions)
  Stream #0:3[0x1580](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
  Stream #0:4[0x1582](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 448 kb/s
  ....
  Stream #0:9[0x1581](deu): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
Kann mir jemand sagen wie ich diese Datei ohne Qualitätseinbuße mach Datei.mkv mit ffmpeg konvertieren kann?
Ich brauche ggf. nur einen Audiostream, den mit dem Originalton.

Vielen Dank für Hinweise.
wckl

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von fischig » 12.11.2021 15:11:32

Definiere „Qualitätseinbuße“.

„Den“ Originalton gibt es nicht in deinem Beispiel, sondern deren mehrere (deutschsprachige). Welchen du nimmst, hat mit „Qualitätseinbußen“ wohl weniger zu tun, als mit der Frage, welchen du (bzw. tatsächliche oder vermeintliche Experten) für „hochwertiger“ hältst/halten.

Wenn weiter nichts passieren soll, als die für dich überflüssigen „Spuren“ zu eliminieren, machte ich es so:

Code: Alles auswählen

ffmpeg -i [quell].ts -map 0:0 -map 0:1 -vcodec copy -acodec copy [ziel].mkv
Da es sich offenbar um Fernseh-Mitschnitte handelt (teletext!) sollten wanne und/oder MaGe vielleicht noch was zu den befürchteten „Qualitätseinbußen“ sagen, i.e., warum man vielleicht mehr und wie umkodieren sollte.

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von MaGe » 12.11.2021 16:02:27

fischig hat geschrieben:
Wenn weiter nichts passieren soll, als die für dich überflüssigen „Spuren“ zu eliminieren, machte ich es so:

Code: Alles auswählen

 ffmpeg -i [quell].ts -map 0:0 -map 0:1 -vcodec copy -acodec copy [ziel].mkv 
Richtig! :THX:
du kannst es aber auch so schreiben ( -c:v copy -c:a copy )

Oder so, da es sich um h264 handelt mit mkvmerge :wink:

Code: Alles auswählen

 mkvmerge -o Dateineu.mkv -a 1 -S Datei.ts 
Das Multiplexen dauerte 1 Minute 11 Sekunden.

Audiospur die erste -a 1
Untertitel brauche ich nicht -S



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von wckl » 12.11.2021 18:06:52

@fischig
Hat alles gut funktioniert. Die Datei lässt sich mit den üblichen Playern wie VLC problemlos wiedergeben.

Aber bei mir liegt ein Fehler vor: mein Fernseher, den ich über USB_Festplatte zur Wiedergabe verwenden will, akzeptiert nur MP4 Dateien.
Wenn ich nach deiner Vorgabe einfach nach datei.mp4 konvertiere, so erhalte ich beim Fernseher keinen Ton.
Bei einer funktionierenden MP4 Datei bei meinem Fernseher sieht das so aus
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '001_Tiere_der_Grossstadt.mp4':
Metadata:
major_brand : M4V
minor_version : 512
compatible_brands: M4V isomiso2avc1
encoder : Lavf58.76.100
Duration: 01:29:32.38, start: 0.000000, bitrate: 2382 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 2215 kb/s, 26 fps, 90k tbr, 90k tbn, 180k tbc (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1(deu): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
Metadata:
handler_name : Stereo
vendor_id : [0][0][0][0]
Wie kann ich mit ffmpeg ein eine entsprechende Datei erzeugen, oder auch nur die Audiospur entsprechend anpassen?

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von MaGe » 12.11.2021 19:22:40

wckl hat geschrieben: Wie kann ich mit ffmpeg ein eine entsprechende Datei erzeugen, oder auch nur die Audiospur entsprechend anpassen?

TESTEN:
Ich benutze den aac nicht aber ersetze ( -acodec copy ) durch

Code: Alles auswählen

 -c:a  aac -b:a 192k -ar 48000 -ac 2 


gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von fischig » 12.11.2021 19:25:48

Indem du bei -acodec copy halt -acodec [mp4] wählst.

Vorsicht! Ich habs nicht so mit mp4, aber man kann bei ffmpeg nachschauen, wie der entsprechende codec benannt ist und dann müsste man diesen Ausdruck halt durch den in meiner [] ersetzen. -b:a 192k wäre dann hinter -acodec noch zu ergänzen, wenn's keine Qualitätsverluste geben soll und wenn ich mal in deinem Beispiel bleiben will.
Hier gibt's jede Menge schöne Beispiele, was man so mit ffmpeg alles veranstalten kann:
https://spielwiese.la-evento.com/hokuspokus/index.html

MaGe war schneller und seine Syntax ist sicherlich mindestens genauso gut. :wink:

Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von ottonormal » 12.11.2021 23:49:51

Ich bin der Meinung, dass eine .ts-Datei einfach in Avidemux importiert werden kann und dann als mp4 exportieren.

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von fischig » 13.11.2021 10:10:09

wckl hat geschrieben:Mein Versuch, ffmpeg zu verstehen ist bisher gründlich gescheitert.
:P

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von MaGe » 13.11.2021 12:07:36

wckl hat geschrieben: Mit HandBrake habe ich schon einiges gemacht, frage mich aber ob es mit ffmpeg nicht ggf. besser geht.[...]
ottonormal hat geschrieben: Ich bin der Meinung, dass eine .ts-Datei einfach in Avidemux importiert werden kann und dann als mp4 exportieren.
Das liebe ich hier im forum!
Wie war nochmal die Frage?



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von wckl » 13.11.2021 14:14:50

@MaGe

OK:

Code: Alles auswählen

ffmpeg -i datei.ts -map 0:0 -map 0:1 -vcodec copy -c:a  aac -b:a 192k -ar 48000 -ac 2 datei.mp4
Mein Fernseher zeigt (HD) Video und klares Audio (Stereo was anders habe ich auch nicht).
Es gab mal Zeiten, da hat man gesagt: "Kein Bild kein Ton, wir kommen schon".
In diesem Sinne vielen Dank.

Andererseits fand ich bei meiner Suche, worum handelt es sich eigentlich, diesen Artikel https://filmpuls.info/videoformate/ , in dem als "verlustfreie Video-Codecs" auch ffmpeg aufgeführt wird.

Kann ich mit eurer Hilfe das auch einmal probieren?

DeletedUserReAsG

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von DeletedUserReAsG » 13.11.2021 15:03:58

wckl hat geschrieben: ↑ zum Beitrag ↑
13.11.2021 14:14:50
Andererseits fand ich bei meiner Suche, worum handelt es sich eigentlich, diesen Artikel https://filmpuls.info/videoformate/ , in dem als "verlustfreie Video-Codecs" auch ffmpeg aufgeführt wird.
Aufpassen: Debianffmpeg ist kein Codec, sondern ein Encoder. Den Videocodec gibst du dann via -c:v [codec] mit, gegebenenfalls mit weiteren Optionen.

Allerdings hast du bereits ein verlustbehaftetes Eingangsformat, und mit -vcodec copy gibst du an, dass da nicht neu codiert werden soll → du hast mit dieser Zeile also ebenfalls keine (weiteren) Verluste, so dass dir ein verlustfreier Codec an dieser Stelle keine Vorteile, dafür aber handfeste Nachteile (Größe, wenige Geräte können das decodieren) bringt.

wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von wckl » 13.11.2021 15:52:55

Ganz verstanden habe ich den Einwurf nicht.
Ausgangspunkt ist eine TS-Datei, die einen Transport Stream enthält.
Dateien mit höherer Auflösung habe ich nicht.

Meine Frage ist nun:
- Kann man, ausgehend von dieser TS-Datei, eine "verlustfreie" Komprimierung vornehmen, so dass die Datei kleiner wird (gemessen in GiB im Dateisystem)?
Unter "verlustfreier" Komprimierung verstehe ich: Video- und Audio-Daten behalten die ursprüngliche Qualität.
- Wenn ja, kann man das mit ffmpeg durchführen? (Mit entsprechenden Codecs die man in ffmpeg anwenden kann.)

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von fischig » 13.11.2021 16:04:47

wckl hat geschrieben:Kann man, ausgehend von dieser TS-Datei, eine "verlustfreie" Komprimierung vornehmen, so dass die Datei kleiner wird (gemessen in GiB im Dateisystem)?
Ja, laut wanne geht das, wenn's 100% verlustfrei sein soll, aber es bringt wohl nicht viel. Bei meinen Versuchen kam ich bei einem ca 90-minütigen TS-Mischnitt von 12-13GB auf etwa 10GB runter. Um mehr zu erfahren, musst du mal in meinen Multimedia-Threads wühlen. Ich bin da jetzt zu faul für, zumal es laut wanne und nach meinen Versuchen, die ich mit seiner Info probiert habe, auch platzmäßig nicht viel bringt. Aber vielleicht kriegst du dazu auch hier direkte Info. Du solltest dich, was ffmpeg und Qualität angeht, mit dem Stichwort CRF beschäftigen.
Zuletzt geändert von fischig am 13.11.2021 16:11:47, insgesamt 1-mal geändert.

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von MaGe » 13.11.2021 16:06:59

wckl hat geschrieben: Mein Fernseher zeigt (HD) Video und klares Audio (Stereo was anders habe ich auch nicht)
Mehr braucht ein TV auch nicht.

Die frage, die sich mir stellt, du hast eine menge .TS Dateien,
kannst du die .TS Dateien am TV anschauen?
wckl hat geschrieben: in dem als "verlustfreie Video-Codecs" auch ffmpeg aufgeführt wird
Verlustfreies H.264 TESTEN:

Deine eingebezeile, von mir hinzugefügt -to 120 = 2 Minuten

Code: Alles auswählen

 ffmpeg -i datei.ts -to 120 -map 0:0 -map 0:1 -vcodec copy -c:a aac -b:a 192k -ar 48000 -ac 2 datei.mp4 
Die selbe eingabezeile Verlustfrei!

Code: Alles auswählen

 ffmpeg -i datei.ts -to 120 -map 0:0 -map 0:0 -c:v libx264 -qp 0 -map 0:1 -vcodec copy -c:a  aac -b:a 192k -ar 48000 -ac 2 datei.mp4 
codec -c:v libx264
Das -qp 0 Flag ist der Schlüssel: Höhere Werte führen zu einer verlustbehafteten Komprimierung.

Dann schau dir mal die Größe an und das in nur 2 Minuten




gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von wckl » 14.11.2021 16:01:18

Etwas stimmt nicht, oder ich begreife es nicht:
egal ob ich für -pq 2 10 oder 50 eintrage, die Datei bleibt immer gleich groß ~ 2-fach oder wird noch größer ...

Ein anders Problem:
Ohne vertretbare Komprimierung erreicht ein Film von 1h28m23s eine Dateigröße von 7 GiB !
Mein Fernseher akzeptiert nur FAT32 als Dateisystem, maximale Dateigröße 4 Gib
damit bin ich aufgeschmissen.
Mit HandBrake habe ich einen entsprechend langen Film von 1h29m mit einer Dateigröße von 1,7 GiB vorliegen.
Das ergibt ffmpeg -i datei.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '001_Boeses_Spiel.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.76.100
Duration: 01:29:00.38, start: 0.000000, bitrate: 2796 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 2595 kb/s, 49.98 fps, 50 tbr, 90k tbn, 100 tbc (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1(deu): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Wie geht das mit ffmpeg ?

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von fischig » 14.11.2021 16:41:58

Du solltest dich mal veraschieden von der „Verlustfreiheit“.
Ich probierte mal dieses hier:

Code: Alles auswählen

ffmpeg -i [quelle].ts -map 0:0 -map 0:1 -vcodec h264 -crf [18-24] -acodec aac -b:a 192k [ziel].mp4
Je niedriger der CRF-Wert, desto besser ist die verbleibende Qualität. Im Bereich von 20-24 liefert das hier mich zufriendenstellende Ergebnisse, um die 2GB bei 90m Videodauer, keinesfalls mehr als 4GB. Wobei ich nochmals betone, dass ich keinerlei Erfahrung mit dem Containerformat mp4 habe, sondern eigentlich immer mkv benutze, welches du ja auch im Threadtitel angibst (was du damit eigentlich wolltest, wenn dein Wiedergabegerät eh nur *.mp4 kann, weiß ich nicht). Wenn das nicht mehr (mkv als Ziel) gilt, könntest du den Titel ändern.

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von MaGe » 14.11.2021 16:48:11

wckl hat geschrieben: Etwas stimmt nicht, oder ich begreife es nicht:
Upps, hier hat sich leider der Fehlerteufel eingeschlichen!

Code: Alles auswählen

 ffmpeg -i datei.ts -to 120 -map 0:0 -map 0:0 -c:v libx264 -qp 0 -map 0:1 -vcodec copy -c:a  aac -b:a 192k -ar 48000 -ac 2 datei.mp4 
Richtig so

Code: Alles auswählen

 ffmpeg -i datei.ts -to 120 -map 0:0 -c:v libx264 -qp 0 -map 0:1 -vcodec copy -c:a  aac -b:a 192k -ar 48000 -ac 2 datei.mp4 
wckl hat geschrieben: Wie geht das mit ffmpeg
In dem du mit der Video-Bitrate -b:v Spiels

Code: Alles auswählen

 ffmpeg -i datei.ts -map 0:0 -c:v libx264 -prestet medium -b:v 1800k -map 0:1 -vcodec copy -c:a  aac -b:a 192k -ar 48000 -ac 2 datei.mp4 
-b:v 1800k durch - 1900k.2000k,2200k usw.

Muss du Testen



Gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von fischig » 14.11.2021 16:51:10

Und ich habe die Schnittmarken vergessen (-ss, -to), weil ich das in einem gesonderten Schritt vorher erledige, in dem ich noch alle Spuren drin lasse. :wink:

wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von wckl » 14.11.2021 17:21:12

@MaGe
Manchmal schleicht sich wirklich etwas ein, ich erhalte die Meldung:
Unrecognized option 'prestet'.
Error splitting the argument list: Option not found

Benutzeravatar
Tintom
Moderator
Beiträge: 3033
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von Tintom » 14.11.2021 17:33:47

Versuche es mit -preset

wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von wckl » 14.11.2021 17:50:17

Egal welchen Wert ich für -b:v eintrage (2400k, 4800k ... ), die Dateigröße bleibt bei 919M,
bei einer Ausgangsgröße der ts-Datei von 1,1G.

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von fischig » 14.11.2021 18:12:14

Dann lass' doch mal die Bitrate weg und versuch' es mit CRF - oder funktioniert das nicht mit mp4 --> Expertenfrage?

DeletedUserReAsG

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von DeletedUserReAsG » 14.11.2021 18:17:20

Naja: bei -vcodec copy (heutzutage sollte man -c:v copy benutzen, btw.) wird die Videospur nicht neu codiert. Da kann man bei -b:v angeben, was man möchte, ohne dass sich was ändert. Das hat nur Einfluss, wenn man neu codiert.

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von fischig » 14.11.2021 18:29:55

Naja: bei -vcodec copy (heutzutage sollte man -c:v copy benutzen, btw.) wird die Videospur nicht neu codiert.
Von -vcodec copy/-c:v copy wollte ich ihn ja gerade abbringen, weil ihm dann offenbar die Datei zu groß wird. Die Größe der Audiospur ist doch in jedem Fall „fast“ vernachlässigbar, wenn's um Video geht. Jedenfalls reißt er damit nicht viel - oder irre ich schon wieder?

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: datei.ts nach datei.mkv konvertieren mit ffmpeg

Beitrag von MaGe » 14.11.2021 18:34:43

[quote="wckl"
Manchmal schleicht sich wirklich etwas ein, ich erhalte die Meldung:


Testen:

Code: Alles auswählen

 ffmpeg -i datei.ts -map 0:0 -c:v libx264 -preset medium -b:v 1800k -map 0:1 -c:a aac -b:a 192k -ar 48000 -ac 2 datei.mp4 


gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Antworten