Bei Video-Datei NUR den Audiostream neu codieren, da TV diesen nicht abspielt

Suggestion [3,General]: Der Befehl ffmpeg wurde nicht gefunden. Er ist jedoch am aktuellen Ort vorhanden. Windows PowerShell lädt Befehle nicht standardmäßig vom aktuellen Ort. Wenn Sie diesem Befehl vertrauen, geben Sie stattdessen ".\ffmpeg" ein. Weitere Informationen erhalten Sie unter "get-help about_Command_Precedence".

.\ vorne ran, wie in dem Vorschlag/Fehlermeldung haste gemacht? Da steht ja im Klartext das Powershell das nicht macht aus dem aktuellen Verzeichnis was zu laden.

Also ich meine, wir drehen uns hier schön im Kreis^^


Ich will ja nicht böse klingen, aber das erinnert mich an

Ping... geht nicht
Ping ping ping ... geht nicht.

Das muss doch PING PING PING PING

(Dazu eine beliebigen User vorstellen, der auf seine Tastatur hämmert und dabei den Fehlermeldungs-Bing von Windows erzeugt^^).

Sorry :-)

Eine Fehlermeldung zu ignorieren, und damit zu erklären, das es in einem Fall geht, aber im anderen nicht. Really?

Wie gesagt, nicht bös gemeint. Eventuell liege ich ja völlig falsch. Aber Du scheint ja meinen Vorschlag nicht mal ausprobiert zu haben, "weil es ja in einem Fall geht".

Da ruft bei dem Befehl ffmpeg sich selbst noch mal auf rekursiv, und das scheitert, weil es Powershell verhindert.
 
Zuletzt bearbeitet:
Hallo, deinen Kritikpunkt verstehe ich und nehme ich an - das hätte ich vorher testen können.

Tatsächlich geht es mit .\ vorneweg einen Schritt weiter, es fragt zumindest ob es die bestehende Datei (mit 0 byte, wurde bereits angelegt) überschreiben soll - das war vorher nicht. wenn ich bejahe kommt aber wieder ein Fehler, siehe unten. Habe auch mal nacheinander diese Einstellungen weggelassen, hilft aber auch nicht:
  • -vf scale=1920:1080
  • -preset veryfast
  • -c:s copy
  • -maxrate 40M


File 'video.mkv' already exists. Overwrite? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (ac3 (native) -> ac3 (native))
Stream #0:2 -> #0:2 (ac3 (native) -> ac3 (native))
Stream #0:3 -> #0:3 (copy)
Stream #0:4 -> #0:4 (copy)
Press [q] to stop, [?] for help
x264 [error]: high profile doesn't support a bit depth of 10
[libx264 @ 00000272ed4770c0] Error setting profile high.
[libx264 @ 00000272ed4770c0] Possible profiles: baseline main high high10 high422 high444
[vost#0:0/libx264 @ 00000272ed476e40] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height.
[vf#0:0 @ 00000272ed3ed540] Error sending frames to consumers: Invalid argument
[vf#0:0 @ 00000272ed3ed540] Task finished with error code: -22 (Invalid argument)
[vf#0:0 @ 00000272ed3ed540] Terminating thread with return code -22 (Invalid argument)
[vost#0:0/libx264 @ 00000272ed476e40] Could not open encoder before EOF
[vost#0:0/libx264 @ 00000272ed476e40] Task finished with error code: -22 (Invalid argument)
[vost#0:0/libx264 @ 00000272ed476e40] Terminating thread with return code -22 (Invalid argument)
[out#0/matroska @ 00000272ed99c740] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A
Conversion failed!
 
Der eigentliche Fehler ist
Code:
x264 [error]: high profile doesn't support a bit depth of 10
[libx264 @ 00000272ed4770c0] Error setting profile high.
Dein Eingabevideo hat 10 Bit Farbtiefe und weil du nichts gegenteiliges bestimmt hast will ffmpeg diese 10 Bit in die Ausgabe übernehmen. Mit -profile:v high wurde aber vorgegeben, dass das Video in H.264 mit High-Profil konvertiert werden soll. High erlaubt aber nur eine Farbtiefe von 8 Bit. ffmpeg bricht also ab, weil das was du tun willst unmöglich ist.

Die Farbtiefe ist erkennbar in deinem Post #20 an folgender Zeile in der ffmpeg Ausgabe:
Code:
Input #0, matroska,webm, from 'VIDEO_neu.mkv':
  ...
  Stream #0:0: Video: hevc (Main 10), yuv420p10le(...), ...
Wir können dies in 8 Bit konvertieren mit -pix_fmt yuv420p. Dein ganzer Befehl würde also so aussehen:
Code:
ffmpeg -i input.mkv -map 0 -map_metadata 0 -map_chapters 0 -sws_flags lanczos -vf scale=1920:-8 -c:v libx264 -preset veryfast -crf 20 -profile:v high -level 4.1 -maxrate 40M -bufsize 30M -pix_fmt yuv420p -c:a ac3 -b:a 640K -ac 6 -c:s copy output.mkv
An dieser Stelle laufen wir aber in ein anderes Problem. Deine Videospur ist in HDR mit Dolby Vision:
Code:
  Stream #0:0: Video: hevc (Main 10), yuv420p10le(...), ...
      ...
      Side data:
        DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 1
Laut Dokumentation hat Profile 8 Compatibility 1 ein HDR10-Fallback, aber kein herkömmliches SDR-Fallback. D.h. beim Konvertieren müsste man das HDR Video zu herkömmlichem SDR tonemappen. Tonemapping ist mit ffmpeg nicht ganz einfach. Konvertierst du das Video einfach so zu 8 Bit und behandelst das HDR nicht sind die Farben/Helligkeiten vollkommen verkehrt - wobei es mit Profile 5 noch erheblich schlimmer wäre als mit Profile 8.

Es wäre gut mal das genaue TV-Modell zu kennen auf dem die Videos abgespielt werden sollen. Viele der Samsung 2016er Modelle können nämlich H.265/HEVC mit 4K und HDR10 abspielen: https://developer.samsung.com/smart...cifications/2016-tv-video-specifications.html
 
Zuletzt bearbeitet:
Danke für diese Detailanalyse!!

Das Video soll auf einer PS5 via USB Stick abgespielt werden. Ich finde leider keine Infos, welche Anforderungen die PS5 an Videodateien hat.
 
Scheint als hätte Sony die HEVC-Wiedergabe von USB künstlich blockiert. Die PS5 kann problemlos 4K Blu-Rays und Video-Streams mit HEVC und HDR abspielen, aber bei Video-Dateien wird nur H.264 erlaubt. Selbst Dolby Digital (AC3) wird nicht mehr unterstützt, womit die PS5 gar schlechter gestellt ist als die PS4.

Wenn dein Fernseher 4K ist würde ich bevorzugt über diesen abspielen. Ansonsten müsste man sich ein Gerät besorgen das zum Videos abspielen taugt. Oder man benutzt einen Medienserver wie Plex mit zugehöriger App auf dem Fernseher. Der Plex Server kann nicht-unterstützte Formate in Echtzeit konvertieren, sofern der PC genug Leistung hat.
 
  • Gefällt mir
Reaktionen: alturismo

Ähnliche Themen

Zurück
Oben