(gelöst) Videos aneinanderhängen

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
guennid

(gelöst) Videos aneinanderhängen

Beitrag von guennid » 06.10.2019 11:45:02

Ich habe erfolglos versucht, zwei Videos (video1.mkv und video2.mkv) via cat und ffmpeg aneinanderzuhängen. Ich vermute, diese Diskrepanz: video1: yuv420p(tv, bt709, progressive) video2: yuv420p(progressive) in der ffmpeg-Ausgabe ist für's Scheitern verantwortlich, jedenfalls sehe ich keine andere. Weiß jemand, wie ich den entsprechenden Wert von video2 mit ffmpeg nach dem von video1 konvertiere?

Grüße, Günther
Zuletzt geändert von guennid am 08.10.2019 13:50:11, insgesamt 1-mal geändert.

Benutzeravatar
DEBIANUNDANDREAS
Beiträge: 1304
Registriert: 01.06.2013 10:37:46

Re: Videos aneinanderhängen

Beitrag von DEBIANUNDANDREAS » 06.10.2019 15:34:50

Du musst

Code: Alles auswählen

cat video1.mkv video.2.mkv > Mein neues Video.mkv
im Terminal eingeben. In deinem Fall musst du eventuel die Dateien video1.mkv und video2.mkv umbenennen

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

Re: Videos aneinanderhängen

Beitrag von MaGe » 06.10.2019 16:55:43

guennid hat geschrieben: Ich vermute, diese Diskrepanz: video1: yuv420p(tv, bt709, progressive) video2: yuv420p(progressive)
zu wenig information
was sagt ffmeg über video1 + video2


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

guennid

Re: Videos aneinanderhängen

Beitrag von guennid » 06.10.2019 17:12:14

MaGe hat geschrieben:zu wenig information
Versteh' ich nicht. Ich sagte doch: der Rest der ffmpeg-Ausgaben ist identisch. Ich hol's trotzdem nach, aber im Augenblick geht's nicht, weil ein System-Backup läuft.

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

Re: Videos aneinanderhängen

Beitrag von MaGe » 06.10.2019 18:08:28

guennid hat geschrieben: [...] weil ein System-Backup läuft. [...]

Datensicherung ist wichtig!

TESTEN:
ich muss davon ausgehen dass es sich hierbei ( yuv420p(tv, bt709 ) um HD material handelt.
dieser code schnipsel sorgt bei mir für disse ausgabe
ob mit oder ohne -filter:v scale=1280:720 must du Testen.
kenne dein Video2 nicht.

vorher
Video: mpeg2video (Main), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9]

Code: Alles auswählen

 -filter:v scale=1280:720 -pix_fmt yuv420p -colorspace bt709 -color_trc bt709 -color_primaries bt709 -color_range tv 
danach
Video: h264 (High), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9]


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

guennid

Re: Videos aneinanderhängen

Beitrag von guennid » 06.10.2019 18:42:37

So, hier das Ganze in voller Schönheit:

Code: Alles auswählen

Input #0, matroska,webm, from '[video1].mkv':
  Metadata:
    ENCODER         : Lavf57.71.100
  Duration: 02:49:19.60, start: 0.000000, bitrate: 1653 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 1k tbn, 100 tbc (default)
    Metadata:
      DURATION        : 02:49:19,600000000
    Stream #0:1(unknown): Audio: mp3, 48000 Hz, stereo, s16p, 192 kb/s (default)
    Metadata:
      DURATION        : 02:49:19,036000000

Input #0, matroska,webm, from '[video2].mkv':
  Metadata:
    ENCODER         : Lavf57.71.100
  Duration: 00:01:49.84, start: 0.780000, bitrate: 1694 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 1k tbn, 100 tbc (default)
    Metadata:
      DURATION        : 00:01:49,840000000
    Stream #0:1(unknown): Audio: mp3, 48000 Hz, stereo, s16p, 192 kb/s (default)
    Metadata:
      DURATION        : 00:01:49,803000000
Den Klammerinhalt hinter yuv420p von video2.mkv würde ich gerne in den von video1 umwandeln. Dein Code-Schnipsel muss ich erst verdauen. :wink:

mludwig
Beiträge: 793
Registriert: 30.01.2005 19:35:04

Re: Videos aneinanderhängen

Beitrag von mludwig » 06.10.2019 18:56:49

google-foo mit englischen Suchbegriffen brachte folgendes Ergebnis:
https://www.bugcodemaster.com/article/c ... ing-ffmpeg

dort der 2. Teil mit concat sollte für dich passen, also in dem Musteraufruf für ffmpg nur Dateinamen für Input- und Outputfile anpassen, dass es mkv bleibt.

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

Re: Videos aneinanderhängen

Beitrag von MaGe » 06.10.2019 19:35:06

guennid hat geschrieben: Den Klammerinhalt hinter yuv420p von video2.mkv würde ich gerne in den von video1 umwandeln.
zum Testen: bitrate: 1653 kb/s ist von Video1
ich würde beide, Video1 + Video2 neu kodieren!

Code: Alles auswählen

 ffmpeg -i Video-rein -c:v libx264 -preset medium -profile:v high -level 4.1 -b:v 1653k -filter:v scale=1280:720 -pix_fmt yuv420p -colorspace bt709 -color_trc bt709 -color_primaries bt709 -color_range tv -c:a copy Video-raus 

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

guennid

Re: Videos aneinanderhängen

Beitrag von guennid » 07.10.2019 16:46:14

Umkodieren von video1 hat nicht funktioniert. Die Maschine hat die ganze Nacht gerödelt und sich heute morgen (zwangs-)abgeschaltet (vermutlich wegen hoher Temperatur (knapp 80°)). Während des Kodierens kamen fortlaufend Meldungen „... too large“. Immerhin hatte ich es mit deinem Kommando:

Code: Alles auswählen

ffmpeg -i Video-rein -c:v libx264 -preset medium -profile:v high -level 4.1 -b:v 1653k -filter:v scale=1280:720 -pix_fmt yuv420p -colorspace bt709 -color_trc bt709 -color_primaries bt709 -color_range tv -c:a copy Video-raus
geschafft, video2 (das kurze Teilvideo) auf yuv420p(tv, bt709, progressive), also die Werte von video1 zu bringen. Auf zwei weiteren Maschinen wollte dein Kommando nicht funktionieren: „color_range tv“ wurde angemeckert. Meine ziemlich wilde Internetsuche danach ließ mich vermuten, dass -color_range einen Zahlenwert verlangte, was aber im Widerspruch dazu stünde, dass das Kommando einmal mit video2 durchlief.

Nichtsdestotrotz war es weder mit cat, noch mit ffmpeg möglich, beide Teile im einem Video hintereinander zu hängen. Geschafft hat es schließlich Avidemux, indem ich dort nochmal als Video-Codec nicht copy, sondern x264 wählte, ansonsten aber keinerlei Änderungen vornahm.

Grüße, Günther

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

Re: Videos aneinanderhängen

Beitrag von MaGe » 07.10.2019 18:19:41

@ guennid

Mit Cat ist es mir noch nie gelungen h264 - libx264 zusammenfügen
zusammenfügen schon auch die Länge stimmt aber das Video war mist.
immer nur das erste Video lässt sich abspielen.

mit ffmpeg zusammenfügen könnte mit concat funktionieren
viewtopic.php?f=25&t=168408&hilit=concat#p1162272

oder mit mkvmerge Testen.

Code: Alles auswählen

mkvmerge -o Video-raus Video1.mkv +Video2.mkv

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

guennid

Re: Videos aneinanderhängen

Beitrag von guennid » 07.10.2019 18:29:34

MaGe hat geschrieben:mit ffmpeg zusammenfügen könnte mit concat funktionieren
viewtopic.php?f=25&t=168408&hilit=concat#p1162272
Der war mir vollkommen entfallen! Hättste mal früher drauf kommen sollen. :wink: "Was geb' ich auf mein dumm' Geschwätz von gestern" (Adenauer) :wink:

:THX:

Grüße, Günther

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: Videos aneinanderhängen

Beitrag von wanne » 08.10.2019 10:53:01

Üblicherweise geht man so vor:
  1. Video1 und Video2 in den selben Codec mit den selben optionen reencodieren. (Da reicht es eventuell eines zu reencodieren, wenn man das auf das andere anpasst. Oder falls es schon das selbe ist braucht man gar nicht reencodieren.) Dabei in den Container ts stecken.
  2. Mit concat filter zusammenfügen. (Der funktioniert leider nur bei ts und gleichem Codec zuverlässig. Deswegen schritt 1.)
  3. In den passenden Container stecken.
  4. Zwischenprodukte entfernen.
Obwohl die letzten beiden Schritte schnell gehen ist das leider sehr umständlich aber das einzige was bei mir zuverlässig funktioniert.

Im Beispiel:
  1. ffmpeg -i video1.mkv -c:v copy -c:a copy video1.ts
    ffmpeg -i video2.mkv -c:v libx264 -preset medium -profile:v high -crf 23 -pix_fmt yuv420p -colorspace bt709 -color_trc bt709 -color_primaries bt709 -color_range tv -c:a copy video2.ts
  2. ffmpeg -i "concat:video1.ts|video2.ts" -c copy all.ts
  3. ffmpeg -i all.ts -c copy all.mkv
  4. rm *ts
rot: Moderator wanne spricht, default: User wanne spricht.

guennid

Re: Videos aneinanderhängen

Beitrag von guennid » 08.10.2019 13:34:14

Dann hätten wir schon drei Lösungsansätze. :wink:

Ich belass' es erstmal bei meiner. Die file-Methode probier ich aus, wenn ich Zeit finde. Bin z.Z. vollauf beschäftigt mit den Vorbereitungen der upgrades auf buster ohne systemd.

Grüße, Günther

Antworten