[Erledigt] Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Sound, Digitalkameras, TV+Video und Spiele.
Benutzeravatar
ottonormal
Beiträge: 3404
Registriert: 20.01.2014 22:25:29

[Erledigt] Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 10:53:36

Hallo,

ich habe hier mehrere Videos im .mpg -Format. Die Auflösung ist 720x576 (4:3). Sie sollen aber im 16:9 Format angezeigt werden.
Wie müsste ein Befehl für ffmpeg lauten, der alle Dateien in einem Rutsch umwandelt ohne die Dateien sonst zu verändern?
Zuletzt geändert von ottonormal am 04.03.2019 21:43:08, insgesamt 1-mal geändert.

Benutzeravatar
hikaru
Moderator
Beiträge: 13585
Registriert: 09.04.2008 12:48:59

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von hikaru » 04.03.2019 11:10:58

Dazu müsste man erstmal klären, was du mit mit "umwandeln" bzw. "ändern" meinst.
Soll oben und unten was abgeschnitten werden, rechts und links ein Trauerrand hinzukommen, soll das Video auf 1024x576 gestreckt, oder auf 720x405 gestaucht werden?

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

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 11:26:25

Nein, es soll alles bleiben wie es ist, nur die Anzeige soll von 4:3 auf 16:9 geändert werden. Es ist ja anamorph, gestreckt wird es beim Anzeigen. Nur muss das Abspielgerät/Player das eben wissen. Im Player kann es ja richtig angezeigt werden wenn das umgestellt wird auf 16:9. Wird es normal "automatisch" abgespielt, ist es 4:3, also gestaucht.

Benutzeravatar
hikaru
Moderator
Beiträge: 13585
Registriert: 09.04.2008 12:48:59

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von hikaru » 04.03.2019 11:57:48

Das wäre dann wohl eine Änderung der "Display Aspect Ratio" (DAR) und ließe sich mit ffmpeg und dem Parameter -aspect korrigieren:

https://superuser.com/questions/907933/ ... video-file

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

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von MaGe » 04.03.2019 12:24:40

Testen:

Code: Alles auswählen

 for i in *.mpg; do ffmpeg -i "$i" -c:v mpeg2video -qscale 0 -aspect 16:9 -c:a copy "${i%.*}-neu.mpg"; done 
ob dir dann noch gefällt?


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

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

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 12:43:53

@hikaru
Danke. Leider funktionieren die Befehle nicht, nach wie vor ist die Anzeige damit 4:3

@MaGe
Danke auch dafür. Der Befehl funktioniert, die Datei(en) ist/sind danach aber gut doppelt so groß wie der Ursprung. Die Datei wird dabei ja auch neu berechnet.

Ist es nicht möglich der Datei einfach nur die Information einzupflanzen, dass die Anzeige 16:9 zu erfolgen hat (ohne Neuberechnung)?

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von Lord_Carlos » 04.03.2019 13:09:38

In dem SuperUser link steht auch ein kommentar:
As was stated above, you can't just copy the stream and expect it to work (everywhere), you're going to have to re-encode
Sieht so aus als wenn die meisten Player das einfach ignorieren und eher auf die Aufloesung gucken.

Was sagt denn ffmpeg -i <datei> zur Quelldatei?

Das mit Anamoph kannte ich auch noch garnicht. Interesannt. https://en.wikipedia.org/wiki/Anamorphic_widescreen

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

willy4711

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von willy4711 » 04.03.2019 13:19:34

Doch das geht:

Code: Alles auswählen

ffmpeg -y -i "[Input-File]" -vcodec copy -acodec copy -b:a 32k -aspect 16:9 ""[output-File]"
file.name extension: beides mal avi und dauert wenige Sekunden

Damit hast du aber schöne "Eierköpfe" produziert. :|
In deinem Fall wären es dann wohl "Breitmaulfrösche"

Ich habe mit dem ffmulticonverter
https://sites.google.com/site/ffmulticonverter/home
diverse Einstellungen durchprobiert ---> es gibt immer Eierköpfe, bzw es wird was weg geschnitten

Ist an sich auch logisch.

Original:

Code: Alles auswählen

Sicario 2 (2018) .avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 1.57 GiB
Duration                                 : 2 h 2 min
Overall bit rate                         : 1 842 kb/s

Video
ID                                       : 0
Format                                   : MPEG-4 Visual
Format profile                           : Advanced Simple@L5
Format settings                          : BVOP2
Format settings, BVOP                    : 2
Format settings, QPel                    : No
Format settings, GMC                     : No warppoints
Format settings, Matrix                  : Default (H.263)
Codec ID                                 : XVID
Codec ID/Hint                            : XviD
Duration                                 : 2 h 2 min
Bit rate                                 : 1 643 kb/s
Width                                    : 720 pixels
Height                                   : 304 pixels
Display aspect ratio                     : 2.35:1
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.313
Stream size                              : 1.40 GiB (89%)
Writing library                          : XviD 67

Hinterher:

Code: Alles auswählen

Sicario 2 (2018) .avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
Format profile                           : OpenDML
File size                                : 1.58 GiB
Duration                                 : 2 h 2 min
Overall bit rate                         : 1 846 kb/s
Writing application                      : Lavf58.20.100

Video
ID                                       : 0
Format                                   : MPEG-4 Visual
Format profile                           : Advanced Simple@L5
Format settings                          : BVOP2
Format settings, BVOP                    : 2
Format settings, QPel                    : No
Format settings, GMC                     : No warppoints
Format settings, Matrix                  : Default (H.263)
Codec ID                                 : XVID
Codec ID/Hint                            : XviD
Duration                                 : 2 h 2 min
Bit rate                                 : 1 643 kb/s
Width                                    : 720 pixels
Height                                   : 304 pixels
Display aspect ratio                     : 16:9
Original display aspect ratio            : 2.35:1
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.313
Stream size                              : 1.40 GiB (89%)
Writing library                          : XviD 67
Zuletzt geändert von willy4711 am 04.03.2019 13:25:37, insgesamt 1-mal geändert.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von Lord_Carlos » 04.03.2019 13:22:33

Ist das nicht der gleiche Befehlt wie der von hikaru?

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

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

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 13:33:22

Also, ffmpeg -i <datei> zeigt bei einem Video das:

Code: Alles auswählen

  Duration: 00:04:44.98, start: 0.280000, bitrate: 3831 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:2[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 224 kb/s
und bei einem anderen, richtig angezeigten (von einer anderen Video-DVD) das:

Code: Alles auswählen

  Duration: 00:01:55.81, start: 0.360000, bitrate: 6308 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, smpte170m/bt470bg/bt470bg, progressive), 720x576 [SAR 64:45 DAR 16:9], 6000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Den Unterschied sieht man da ja. Das erste Beisspiel: [SAR 16:15 DAR 4:3]
und das zweite: [SAR 64:45 DAR 16:9]

Ja, Eierköpfe haben meine Versuche alle ergeben. Um das zu verhindern, müsste ich die Dateien entsprechend konvertieren (mit Neuberechnung). Das will ich aber nicht.

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von dirk11 » 04.03.2019 14:01:25

willy4711 hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 13:19:34
Damit hast du aber schöne "Eierköpfe" produziert. :|
In deinem Fall wären es dann wohl "Breitmaulfrösche"
Ja dann ist es wohl die falsche Befehlsfolge oder Du hast kein anamorphes Material in falschem Format vorliegen. Hinweis für Dich: Klick.

Vielleicht passt ja eine der Befehlszeilen von hier oder hier. Suchbegriffe ffmpeg anamorphic in google.com.

Benutzeravatar
hikaru
Moderator
Beiträge: 13585
Registriert: 09.04.2008 12:48:59

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von hikaru » 04.03.2019 14:12:56

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 13:22:33
Ist das nicht der gleiche Befehlt wie der von hikaru?
Nicht ganz. Die aspect-Werte aus meinem Link sind offenbar absolute Pixelzahlen:

Code: Alles auswählen

-aspect 720:540
In willys Befehl ist es eindeutig eine relative Verhältnisangabe, ohne Bezug zur absoluten Auflösung:

Code: Alles auswählen

-aspect 16:9
Natürlich könnte man die 720:540 auch auf 4:3 einkürzen, aber wer weiß ob ffmpeg mit so großen Zahlen umgehen kann, falls es wirklich relative Angaben sind?

ottonormal hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 13:33:22
Den Unterschied sieht man da ja. Das erste Beisspiel: [SAR 16:15 DAR 4:3]
und das zweite: [SAR 64:45 DAR 16:9]
Die SAR im ersten Fall sieht wenig sinnvoll aus. Das ist ja fast 1:1. Dein Abspielprogramm schein hier also die DAR zu verwenden, wenn es wirklich als 4:3 angezeigt wird.
Interessant wäre nun die Ausgabe von ffmpeg -i eines mit meiner bzw. willys Methode umgewandelten Videos.
Meine Hoffnung wäre ja, dass die Methode in meinem Link tatsächlich funktioniert hat, nur bringt es dir eben wenig, ein Video mit DAR=4:3 auf DAR=720x540 zu wandeln, weil das Verhältnis gekürzt das Gleiche bleibt. Demnach sollte willys Version mit einer DAR=16:9 funktionieren, oder eben mit absoluten Werten wie aus meinem ersten Beitrag.

dirk11 hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 14:01:25
Vielleicht passt ja eine der Befehlszeilen von hier
Hier wird offenbar die SAR manipuliert, was meines Wissens nach nur mit Reencodierung geht. Das wollte ottonormal ja eigentlich vermeiden.

dirk11
Beiträge: 2818
Registriert: 02.07.2013 11:47:01

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von dirk11 » 04.03.2019 14:31:03

hikaru hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 14:12:56
Hier wird offenbar die SAR manipuliert, was meines Wissens nach nur mit Reencodierung geht. Das wollte ottonormal ja eigentlich vermeiden.
Stimmt, aber bisher habe ich keine Möglichkeit gefunden, das ohne reencodierung hinzubekommen. MMn müßte das dann auch der Player erledigen, sprich der muss über ein Flag, welches er auswerten kann, mitgeteilt bekommen, dass er anamorphes Material zugespielt bekommt, welches er entsprechend entzerren muss.

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

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 14:40:54

hikaru hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 14:12:56
Das wollte ottonormal ja eigentlich vermeiden.
Genau, Wenn ich die Videos konvertieren will, mit Neuberechnung, ist das ja überhaupt kein Problem.
Den Befehl von willy hatte ich probiert. Damit tut sich aber überhaupt gar nichts. Müssen die eckigen Klammern in dem Befehl bleiben? Ich hatte es einmal mit und einmal ohne probiert. Ging alles nix.

Ich habe hier 4 Video-DVDs (nicht kopiergeschützt) kopiert und will die zu normalen Video-Dateien, die im Rechner abspielbar sind, umwandeln. 3 davon werden ganz normal 16:19 angezeigt. Nur eine eben nicht. Bevor ich die aber konvertiere, lasse ich es lieber so und stelle den VLC-Player jedesmal um. Im VLC-Player geht das übrigens sehr gut, im SM-Player habe ich nach dem Umschalten oben und unten schwarze Balken. 16:9 ist es dann aber, die Eierköpfe sind dann normal.

willy4711

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von willy4711 » 04.03.2019 15:01:01

ottonormal hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 14:40:54
Den Befehl von willy hatte ich probiert. Damit tut sich aber überhaupt gar nichts. Müssen die eckigen Klammern in dem Befehl bleiben? Ich hatte es einmal mit und einmal ohne probiert. Ging alles nix.
Oh weh, ein " zu viel. Hier der funktionierende Befehl. Die Anführungszeichen sind nur notwendig, wenn Leerzeichen usw. im Dateinamen sind.
das kommt halt von kopieren :facepalm: :hail:

Code: Alles auswählen

ffmpeg -y -i "/media/HD753LJ/Import/Filme/Sicario 2 (2018)/Sicario 2 (2018) .avi" -vcodec copy -acodec copy -b:a 32k -aspect 16:9  "/home/willy/Sicario 2 (2018) .avi"
Jetzt hab ich es geschafft :mrgreen:

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

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 15:30:26

Der Befehl funktioniert, ABER, nach wie vor, das Ergebnis ist 4:3.

Ich würde gerne mal, wenn es jemand möchte, ein solches Video irgendwo hochladen. Das kleinste davon hat aber immer noch 70 MB. Wie könnte man das (anonym?) praktizieren?
Ich hätte eine Klaut bei MEGA, ginge das?

Ich habe gerade einen kleinen 23-Sekundenschnipstel mit Avidemux aus dem Video herauskopiert. Die Daten sind dabei ja nicht verändert worden. Das sind so nur noch 10,6 MB. Ginge also auch als Mail-Anhang.

willy4711

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von willy4711 » 04.03.2019 17:06:50

Hab mir mal von hier
http://www.thepowerpointblog.com/4x3-an ... ct-ratios/
das 4:3 Sample runter geladen und es jetzt zumindest geschafft, ein "Echtes" 16:9 zu produzieren. Wichtig ist, dass man beides erzwingt (Aspect/ Scale)

Code: Alles auswählen

ffmpeg -y -i "/home/willy/4x3 Sample-gQaXbSPQoDQ.mkv" -vcodec mpeg2video -acodec copy -b:a 32k -aspect 16:9 -vf "scale=648:364" "/home/willy/Videos/Test Konvertierung/~4x3 Sample-gQaXbSPQoDQ.mkv"
Ausgabe Konsole: NoPaste-Eintrag40653

Konvertiert

Code: Alles auswählen

Complete name                            : /home/willy/Videos/Test Konvertierung/~4x3 Sample-gQaXbSPQoDQ.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 1.92 MiB
Duration                                 : 30 s 63 ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 537 kb/s
Writing application                      : Lavf58.20.100
Writing library                          : Lavf58.20.100
ErrorDetectionType                       : Per level 1

Video
ID                                       : 1
Format                                   : MPEG Video
Format version                           : Version 2
Format profile                           : Main@Main
Format settings, BVOP                    : No
Format settings, Matrix                  : Default
Format settings, GOP                     : N=12
Codec ID                                 : V_MPEG2
Codec ID/Info                            : MPEG 1 or 2 Video
Duration                                 : 30 s 63 ms
Bit rate mode                            : Variable
Width                                    : 648 pixels
Height                                   : 364 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Time code of first frame                 : 00:00:00:00
Time code source                         : Group of pictures header
GOP, Open/Closed                         : Open
GOP, Open/Closed of first frame          : Closed
Writing library                          : Lavc58.35.100 mpeg2video
Default                                  : Yes
Forced                                   : No
Original

Code: Alles auswählen

Complete name                            : /home/willy/4x3 Sample-gQaXbSPQoDQ.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 2.47 MiB
Duration                                 : 30 s 63 ms
Overall bit rate                         : 690 kb/s
Writing application                      : Lavf58.20.100
Writing library                          : Lavf58.20.100
ErrorDetectionType                       : Per level 1

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L3
Format settings                          : CABAC / 3 Ref Frames
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 3 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 30 s 63 ms
Width                                    : 648 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Default                                  : Yes
Forced                                   : No
Na ja - jetzt ist es zwar breiter und genau in der Skalierung wie gewollt aber -- macht das Sinn ? Mit dem VLC kann man ein Video in (fast) jedem Seitenverhältnis skalieren / beschneiden.

Benutzeravatar
hikaru
Moderator
Beiträge: 13585
Registriert: 09.04.2008 12:48:59

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von hikaru » 04.03.2019 17:45:14

willy4711 hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 17:06:50
Hab mir mal von hier
http://www.thepowerpointblog.com/4x3-an ... ct-ratios/
das 4:3 Sample runter geladen und es jetzt zumindest geschafft, ein "Echtes" 16:9 zu produzieren. Wichtig ist, dass man beides erzwingt (Aspect/ Scale)

Code: Alles auswählen

ffmpeg -y -i "/home/willy/4x3 Sample-gQaXbSPQoDQ.mkv" -vcodec mpeg2video -acodec copy -b:a 32k -aspect 16:9 -vf "scale=648:364" "/home/willy/Videos/Test Konvertierung/~4x3 Sample-gQaXbSPQoDQ.mkv"
Der Differenz der Dateigrößen nach zu urteilen, wird auch hier das Video recodiert.
willy4711 hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 17:06:50
Na ja - jetzt ist es zwar breiter und genau in der Skalierung wie gewollt aber -- macht das Sinn ? Mit dem VLC kann man ein Video in (fast) jedem Seitenverhältnis skalieren / beschneiden.
Das muss man aber bei jedem mal neu einstellen, wenn man das Video abspielt, was vielleicht irgendwann lästig wird.


Ich habe hier noch die Big-Buck-Bunny-Videos rumzuliegen. Die sind nativ 16:9:

Code: Alles auswählen

$ ffmpeg -i bigbuckbunny720p.mp4 
ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bigbuckbunny720p.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isomavc1mp42
    creation_time   : 2010-01-07T05:22:37.000000Z
  Duration: 00:09:56.46, start: 0.000000, bitrate: 2143 kb/s
    Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      creation_time   : 2010-01-07T05:22:37.000000Z
      handler_name    : (C) 2007 Google Inc. v08.13.2007.
    Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2015 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
    Metadata:
      creation_time   : 2010-01-07T05:22:38.000000Z
      handler_name    : (C) 2007 Google Inc. v08.13.2007.
At least one output file must be specified
mpv und vlc spielen sie auch als 16:9 ab:

Code: Alles auswählen

$ mpv bigbuckbunny720p.mp4 
Playing: bigbuckbunny720p.mp4
 (+) Video --vid=1 (*) (h264)
 (+) Audio --aid=1 --alang=und (*) (aac)
AO: [pulse] 44100Hz stereo 2ch float
VO: [opengl] 1280x720 yuv420p
AV: 00:00:03 / 00:09:56 (0%) A-V:  0.000
Hier reicht offenbar die Angabe einer neuen -aspect (ratio) um sie in 4:3 abzuspielen:

Code: Alles auswählen

ffmpeg -i bigbuckbunny720p.mp4 -vcodec copy -acodec copy -aspect 4:3 bbb_4-3.mp4

Code: Alles auswählen

$ ffmpeg -i bbb_4-3.mp4
ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb_4-3.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.56.101
  Duration: 00:09:56.46, start: 0.000000, bitrate: 2146 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2015 kb/s, SAR 3:4 DAR 4:3, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified
Man beachte die HINZUGEFÜGTEN SAR- und DAR-Werte für Stream #0:0!

mpv und vlc spielen das dann in 4:3 ab:

Code: Alles auswählen

$ mpv bbb_4-3.mp4 
Playing: bbb_4-3.mp4
 (+) Video --vid=1 (*) (h264)
 (+) Audio --aid=1 --alang=und (*) (aac)
AO: [pulse] 44100Hz stereo 2ch float
VO: [opengl] 1280x720 => 1280x960 yuv420p
AV: 00:00:01 / 00:09:56 (0%) A-V:  0.000
Zurück geht auch:

Code: Alles auswählen

$ ffmpeg -i bbb_4-3.mp4 -vcodec copy -acodec copy -aspect 16:9 bbb_16-9.mp4

Code: Alles auswählen

$ ffmpeg -i bbb_16-9.mp4 
ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
  configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb_16-9.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.56.101
  Duration: 00:09:56.46, start: 0.000000, bitrate: 2146 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2015 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified
Nun sind die Zusatzwerte wieder weg und sowohl mpv als auch vlc spielen wieder 16:9 ab:

Code: Alles auswählen

$ mpv bbb_16-9.mp4 
Playing: bbb_16-9.mp4
 (+) Video --vid=1 (*) (h264)
 (+) Audio --aid=1 --alang=und (*) (aac)
AO: [pulse] 44100Hz stereo 2ch float
VO: [opengl] 1280x720 yuv420p
AV: 00:00:01 / 00:09:56 (0%) A-V:  0.000
Die Dateigrößen (und Konvertierungszeiten) sprechen gegen Recodierung:

Code: Alles auswählen

$ ls -l b*
-rw-r--r-- 1 hikaru hikaru 160016295 Mär  4 17:20 bbb_16-9.mp4
-rw-r--r-- 1 hikaru hikaru 160016279 Mär  4 17:20 bbb_4-3.mp4
-rw-r--r-- 1 hikaru hikaru 159848420 Mär  4 17:13 bigbuckbunny720p.mp4

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

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 19:17:00

Ich kann machen, was ich will, alle Ergebnisse sind immer in 4:3. Nur die Testkonvertierung einer einzelnen kleinen Datei mit Neuberechnung funktionierte und wurde richtig in 16:9 angezeigt.

Dass eine doch eigentlich so einfache Sache so kompliziert, oder sogar unmöglich ist, hätte ich nicht gedacht.
Ich geb's deshalb auf und überlasse die korrekte Anzeige dem VLC-Player.

willy4711

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von willy4711 » 04.03.2019 20:14:09

Spielen wir weiter:
Ohne ffmpeg zu bemühen:

Code: Alles auswählen

$ mpv --video-aspect=16:9 "/home/willy/Videos/Test Konvertierung/Original 4x3 Sample-gQaXbSPQoDQ.mkv"
Playing: /home/willy/Videos/Test Konvertierung/Original 4x3 Sample-gQaXbSPQoDQ.mkv
 (+) Video --vid=1 (*) (h264 648x480 29.970fps)
 (+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 648x480 => 853x480 yuv420p
AV: 00:00:29 / 00:00:30 (99%) A-V:  0.000 Dropped: 2

Exiting... (End of file)
Daraus kann man dann ein Profil erstellen

Code: Alles auswählen

cat ~/.config/mpv/mpv.conf
[HEVC]       #Einzige Möglichkeit HEVC über GTX 1060 3GB wiederzugeben
--hwdec=cuda              #decodierung mit cuda
# Wiedergabe Fenster an Bildschirm anpassen":
autofit-larger=80%x80%
--keep-open=yes
[16:9]
--video-aspect=16:9
Nur die letzten 2 Zeilen sind dafür verantwortlich

Dann in Thunar eine Benutzerdefinierte Aktion anlegen Auszug aus der ~/.config/Thunar/uca.xml :

Code: Alles auswählen

<action>
	<icon>multimedia-video-player</icon>
	<name>Mit mpv 16:9 Erzwingen</name>
	<unique-id>1551726046578883-1</unique-id>
	<command>mpv --profile=16:9 %f</command>
	<description></description>
	<patterns>*</patterns>
	<video-files/>
</action>
und schon spielt mpv in der gewünschten Ratio ab (jedenfalls beim Test Video :roll: )

Bild

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

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 20:49:12

Ja, das ist ja ganz schön, was machst Du aber, wenn Du ein solches Video weitergeben willst an Verwandte, Freunde und Bekannte?

Genau das ist nämlich bei mir der Fall. Genauer gesagt sind es Videos für Sportler mit Anleitungen für Gymnastik, Übungen und Yoga. Meine Frau benutzt die mit ihren Sportgruppen. Da ist mit Sicherheit keiner dabei, der/die das überhaupt bemerken würde oder auf die Idee käme das irgendwie in den Einstellungen ihres Players zu regeln.

Vielleicht wundert sich auch der eine oder andere darüber, dass die Vorturner (Eierköpfe) in dem Video so "schlank" sind und rechnet das der Wirkung der Sportübungen zu. :mrgreen:

Natürlich könnte ich auch alle Videos richtig konvertieren und habe damit das Problem beseitigt. Ich meine aber, dass etwas so simples auch simpel zu regulieren sein sollte.
Obwohl ich mit der Bearbeitung von Videos im Allgemeinen keine Probleme habe, komme ich in diesem Fall mit meinen bescheidenen Kentnissen nicht weiter.

Ob ich mich mal im Windows-Umfeld umsehe? :roll:

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

Re: Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 21:40:23

Ha! :mrgreen: Jetzt hab' ich es gefunden (Nicht in Windows!). Ganz einfach ist es mit Debianmkvtoolnix und Debianmkvtoolnix-gui.
Da gibt es unter "Eigenschaften" einen Punkt "Seitenverhältnis setzen". Dort lässt sich einfach 16/9 auswählen. Dann "Multiplexen starten" und in wenigen Sekunden, oder bei kurzen Videos nur Bruchteile davon, habe ich ein funktionierendes 16:9 -Ergebnis vorliegen. Es wird dabei nichts neuberechnet, das Video wird ja einfach nur in den MKV-Container umgepackt.
Dass es dann MKV statt MPG oder VOB ist stört mich nicht. Eher im Gegenteil.

Nur mit der Stapelverarbeitung, das habe ich noch nicht gefunden. Das sollte aber irgendwie auch gehen. Ich kann zumindest alle Videos gleichzeitig in das mkvtoolnix-gui -Fenster ziehen. Für jede Datei wird dabei ein Reiter erstellt und es muss jedesmal wieder das Seitenverhältnis neu eigestellt werden. Damit kann ich aber auch gut leben, soo oft kommt so etwas ja nicht vor. :wink:

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: [Erledigt] Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von Lord_Carlos » 04.03.2019 22:32:29

Vielleicht geht es ja auch mit ffmpeg, wenn du es in ein mkv Zielkontainer packst.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

willy4711

Re: [Erledigt] Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von willy4711 » 04.03.2019 23:02:49

Naja - eventuell ist die Lösung von mkvtoolnix ja die bessere und einfachere.
Nach meinem Verständnis wird hier aber nur dem Player die Anweisung gegeben, in 16:9 das Video abzuspielen, ähnlich wie der Befehl, den ich oben
mit mpv gezeigt habe. (mpv --video-aspect=16:9) denn die Daten sagen folgendes:

Hab mir mal extra was längeres bei YouTube gesucht: https://www.youtube.com/watch?v=hf-Db1ZqwSw

Original

Code: Alles auswählen

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L3
Format settings                          : CABAC / 1 Ref Frames
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 1 frame
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 20 min 35 s
Bit rate                                 : 495 kb/s
Width                                    : 640 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 4:3
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
MkvToolnix

Code: Alles auswählen

General
Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L3
Format settings                          : CABAC / 1 Ref Frames
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 1 frame
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 20 min 35 s
Bit rate                                 : 495 kb/s
Width                                    : 640 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Original display aspect ratio            : 4:3
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS
Hingegen der Befehl

Code: Alles auswählen

$ ffmpeg -y -i "/home/willy/Videos/Test Konvertierung/BRANDHEISS Auch Engel können sterben.mp4" -vcodec mpeg2video -acodec copy -b:a 32k -aspect 16:9 -vf "scale=648:364" "/home/willy/Videos/Test Konvertierung/Brandheiss16:9.mkv"
Wandelt das Video vollständig um

Code: Alles auswählen

Format                                   : MPEG Video
Format version                           : Version 2
Format profile                           : Main@Main
Format settings, BVOP                    : No
Format settings, Matrix                  : Default
Format settings, GOP                     : Variable
Codec ID                                 : V_MPEG2
Codec ID/Info                            : MPEG 1 or 2 Video
Duration                                 : 20 min 35 s
Bit rate mode                            : Variable
Width                                    : 648 pixels
Height                                   : 364 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 25.000 FPS

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

Re: [Erledigt] Mit ffmpeg Video von 4:3 zu 16:9 ändern?

Beitrag von ottonormal » 04.03.2019 23:15:10

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
04.03.2019 22:32:29
Vielleicht geht es ja auch mit ffmpeg, wenn du es in ein mkv Zielkontainer packst.
Ja, DAS funktioniert. Von .mpg 4:3 zu .mkv 16:9

Code: Alles auswählen

ffmpeg -i test.mpg -vcodec copy -acodec copy -aspect 16:9 ziel.mkv
Danke, das hättest Du ja auch mal etwas früher sagen können. :mrgreen:

Es funktioniert aber auch NUR so, von .VOB zu .MKV funktioniert so nicht.

Jetzt brauchte ich also einen ffmpeg-Befehl mit dem ich stapelweise mehrere .VOB -Dateien zu .MPG -Dateien "umpacken" kann

und dann einen Befehl, der dann mit obigem Befehl mehrere .MPG -Dateien zu .MKV -Dateien und 16:9 macht.

Antworten