ubuntuusers.de

Video mit falschem Codec

Status: Gelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4677

micneu schrieb:

susanne.eisele schrieb:

Habe ich grade mal getan, die neue Datei ist nun mit 101 MB doppelt so groß wie die Vorlage... Nicht so gut fürs Online-Angucken...

Wenn das so ein Problem für dich ist, warum, nimmst du dann nicht H.265?

Weil das erst recht weder Firefox noch Google Chrome auf Desktop Linuxsystemen wie etwa Ubuntu abspielt.

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 790

https://forum.ubuntuusers.de/post/9457176/

Da steht doch gar kein V. Codec. (Anhang) Sollte da nicht h264,h265 .. stehen?

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 790

@susanne.eisele

Zeige mal was da rauskommt:

ffprobe <Datei>

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 11741

Ich wiederhole:

wenn man mal hinsieht, was ausgegeben wird...Codec: MPEG-4 Video (mp4v). Schon haben wir den Codec, keiner braucht herumraten. Das ist nicht zu verwechseln.

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 790

OK, mp4v ist der Codec. Oder wie auch immer. Blickt ja Keiner mehr durch.

Also sollte der zu h264 konvertiert werden.

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 790

ffmpeg -i <datei> -vcodec h264 -acodec aac <ausgabedatei.mp4>

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4677

Hier mal ein Beispiel, wie sich sehr schnell und effizient transkodieren lässt und dabei auch so ungefähr die Dateigröße des Ausgangsmaterials angepeilt wird, bei hervorragender Qualität und überragender Encoder-Geschwindigkeit:

ffmpeg -y -hide_banner -hwaccel cuda -i INPUT_VIDEO.mp4 -c:v h264_nvenc -preset p6 -tune hq -rc-lookahead 20 -b:v "`mediainfo --ParseSpeed=1 --Inform="Video;%BitRate%" INPUT_VIDEO.mp4 || mediainfo --ParseSpeed=1 --Inform="General;%OverallBitRate%" INPUT_VIDEO.mp4`" -c:a aac AUSGABE_VIDEO_neu.mp4

Ein ungefähr 50 Megabyte großes Video sollte damit in ca. 15 Sekunden neu encodiert werden können, und es macht noch nicht mal viel Last auf meiner rund 16 Jahre alten Maschine. Aber es braucht eine Nvidia Grafikkarte mit installierten passendem nvidia-driver dazu. ¯\_(ツ)_/¯ Und mediainfo zum auslesen der Bitrate vom Ausgangsmaterial, um damit einstellen der Bitrate vom Ausgabematerial zu ermöglichen.

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 790

will auch

hervorragender Qualität und überragender Encoder-Geschwindigkeit:

Woher bekomme ich nur schnell eine Nvidia Kiste?

Nicht böse gemeint. 😬 ☺

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4371

Geht auch ohne Nvidia-Karte.

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 790

Meinst Du das ernst? Ich machte mir nen Spass.

Ohne Supi Parameter bringt Das @susanne.eisele nix.

Vllt. nur

-hwaccel cuda

weglassen? Ersetzen?

@trollsportverein

-hide_banner

hatte ich vorhin bei

ffprobe

gesucht und nicht mehr gefunden, Danke Dir! Kommt jetzt in meine Tools bevor es wieder weg ist.

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4371

Ja, das meine ich ernst. CPUs können immer noch rechnen, auch wenn immer mehr mit GPUs gemacht wird. Nvidia/CUDA spezifische Optionen lässt man dann eben weg. Macht man eh viel im Web oder sonstwas, läuft halt eine Videokonvertierung nebenher.

ffmpeg -hwaccels
...
Hardware acceleration methods:
vdpau
cuda
vaapi
qsv
drm
opencl
vulkan

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 790

OK, mein

Woher bekomme ich nur schnell eine Nvidia Kiste?

war reines Herumblödeln. Klar geht das auch mit nicht Nvidia.

Sorry!

Also, wer probiert das mal mit "vaapi" und "ohne"?

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4677

Mit vaapi acceleration:

ffmpeg -y -hide_banner -hwaccel vaapi -i INPUT_VIDEO.mp4 -c:v h264 -b:v "`mediainfo --ParseSpeed=1 --Inform="Video;%BitRate%" INPUT_VIDEO.mp4 || mediainfo --ParseSpeed=1 --Inform="General;%OverallBitRate%" INPUT_VIDEO.mp4`" -c:a aac AUSGABE_VIDEO_neu.mp4

Ist aber viel langsamer als mit CUDA und NVENC und die Videoqualtiät ist auch deutlich schlechter, ist nicht so scharf wie mit CUDA und NVENC. Größe der Videodatei kommt so aber hin.

Marantkurz

Anmeldungsdatum:
7. September 2023

Beiträge: 790

Ist doch im Prinzip auch nur mein(ohne vaapi)

ffmpeg -i <datei> -vcodec h264 -acodec aac <ausgabedatei.mp4>

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 4677

So wird das Ergebnis besser, kommt aber immer noch nicht an NVENC und CUDA ran. Das Encoding dauert auch noch mal deutlich länger und die Last auf der CPU ist hoch:

ffmpeg -y -hide_banner -hwaccel vaapi -i INPUT_VIDEO.mp4 -c:v h264 -pix_fmt yuv420p -preset veryslow -b:v "`mediainfo --ParseSpeed=1 --Inform="Video;%BitRate%" INPUT_VIDEO.mp4 || mediainfo --ParseSpeed=1 --Inform="General;%OverallBitRate%" INPUT_VIDEO.mp4`" -c:a aac -movflags +faststart AUSGABE_VIDEO_neu.mp4

Die Dateigröße passt aber.