Forum: PC Hard- und Software [Linux] .mkv-Video nach mp4 wandeln


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Taucher (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Ich möchte ein mkv-Video ins mp4-Format wandeln. Laut 
https://www.putorius.net/convert-mkv-to-mp4-linux.html soll das so mit 
ffmpeg gehen:
ffmpeg -i intro.mkv -codec copy intro.mp4

Leider funktioniert das nicht, ffmpeg verabschiedet sich mit folgendem 
Sermon:
ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/usr --extra-version=0ubuntu0.2 --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-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --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-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=0ubuntu0.2 --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-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --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-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, matroska,webm, from 'x.mkv':
  Metadata:
    ENCODER         : Lavf58.16.100
  Duration: 00:14:56.42, start: -0.007000, bitrate: 313 kb/s
    Stream #0:0: Video: av1, none(tv, bt709), 640x360, 25 fps, 25 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      HANDLER_NAME    : ISO Media file produced by Google Inc.
      DURATION        : 00:14:56.400000000
    Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
    Metadata:
      DURATION        : 00:14:56.421000000
[mp4 @ 0x55c71b107140] Could not find tag for codec av1 in stream #0, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
    Last message repeated 1 times

Wie kann man das reparieren?

Gibt es eine andere Möglichkeit?

von TanteGoogle (Gast)


Bewertung
0 lesenswert
nicht lesenswert
MKV und MP4 sind Containerformate, die verschiedene Codecs haben können.

Taucher schrieb:
> codec not currently supported in container

Im MKV Container ist das av1 Codec, welches nicht von MP4 unterstützt 
wird. Die Option -codec copy klappt daher nicht. Av1 muss z.b. in h264 
umgewandelt werden.

von babooshka (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Anderes Outputformat probieren?


zb. h264 u. aac;  -c:v h264 -c:a aac

von ich (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Die Fehlermeldung ist doch eindeutig, av1 wird in mp4-Containern nicht 
unterstützt. Wenn es mp4 sein muss bleibt wohl nichts anderes übrig als 
das Video zu konvertieren (nicht -codec copy), finde zwar keine 
explizite Quelle, aber wahrscheinlich kann mp4 wirklich kein av1.

von Taucher (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es muss nicht mp4 sein. Es reicht irgend ein gängiges Format, das man 
auf jedem Linux- oder Windows-System abspielen kann.

von g457 (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
> Es reicht irgend ein gängiges Format, das man auf jedem Linux- oder
> Windows-System abspielen kann.

Dafür ist AV1 aber eine schlechte Grundlage. Umkodieren und feddisch.

von M.M.M (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Taucher schrieb:
> Es muss nicht mp4 sein. Es reicht irgend ein gängiges Format, das man
> auf jedem Linux- oder Windows-System abspielen kann.

Es sind weder Linux noch Windows, die irgendetwas abspielen, sondern die 
auf dem System installierten Programme. Sofern alle nötigen Codecs 
installiert sind, ist das für Programme, die die Formate unterstützen, 
weder unter Linux, noch unter Windows ein Problem.

Von einem Format ins andere, als z.B. AV1 nach h264/h265 und das dann in 
mp4 verpacken ist der resultierenden Bildqualität sicherlich nicht 
förderlich.

MfG

von c-hater (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
M.M.M schrieb:

> Von einem Format ins andere, als z.B. AV1 nach h264/h265 und das dann in
> mp4 verpacken ist der resultierenden Bildqualität sicherlich nicht
> förderlich.

Der Container spielt für die Qualität sicherlich keine Rolle. Die 
Wandlung natürlich schon. Dazu kommt, dass die Wandlung auch sehr 
zeitaufwendig ist, insbesondere, wenn die bestmögliche Qualität erhalten 
bleiben soll, ohne die Datei allzusehr zu vergrößern.

Die beste Lösung ist also: Zum Abspielen was verwenden, was nahezu jeden 
Container und nahezu jeden Codec kennt: VLC.

Gibt's für alle üblichen OS...

Beitrag #6393831 wurde vom Autor gelöscht.
von Taucher (Gast)


Bewertung
0 lesenswert
nicht lesenswert
c-hater schrieb:
> Die beste Lösung ist also: Zum Abspielen was verwenden, was nahezu jeden
> Container und nahezu jeden Codec kennt: VLC.

Tut leider auch nicht:
Codec not supported:
VLC could not decode the format "av01" (AOMedia's AV1 Video)

Ein av01-Codec habe ich noch nicht gefunden.

VLC spielt aber wenigstens den Ton ab. (Audacity kann das auch.)

von babooshka (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Taucher schrieb:

stimmt decodieren kann er nicht, sorry.

>> Container und nahezu jeden Codec kenn
> Tut leider auch nicht:
>
> Codec not supported:
> VLC could not decode the format "av01" (AOMedia's AV1 Video)
> 
>
> Ein av01-Codec habe ich noch nicht gefunden.
>

DEBIAN:  libaom-dev

https://packages.debian.org/search?keywords=libaom&searchon=names&suite=all&section=all
https://www.deb-multimedia.org/dists/stretch-backports/main/binary-armel/package/libaom-dev

ein ffmpeg z.B. müsste aber neu gebaut werden, wenn es nichts aktuelles 
im repository gibt :/
http://trac.ffmpeg.org/wiki/Encode/AV1
 kann mich dunkel erinnern das vor ~10 Jahren auch mal mit x264 gemacht 
zu haben, zu vlc kann ich nichts sagen.


---
https://aomedia.googlesource.com/aom

von babooshka (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>> Ein av01-Codec habe ich noch nicht gefunden.
>>

vlt. hast du ihn auch schon gefunden;
https://www.videolan.org/projects/dav1d.html


>
> DEBIAN:  libaom0 libaom-dev
...
>
> 
https://packages.debian.org/search?keywords=libaom&searchon=names&suite=all&section=all
> www.deb-multimedia.org/dists/stretch-backports/main/binary-armel/package 
/libaom-dev
>

da gehts zum stretchbackport den packages.debian.org nicht auflistet
www.deb-multimedia.org/dists/stretch-backports/main/.....


> ---
> https://aomedia.googlesource.com/aom

von tux (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Taucher schrieb:
> Ubuntu 7.5.0-3ubuntu1~18.04

>Gibt es eine andere Möglichkeit?

Auf 20.04LTS upgraden?

von rbx (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Taucher schrieb:
> Ich möchte ein mkv-Video ins mp4-Format wandeln. Laut
> https://www.putorius.net/convert-mkv-to-mp4-linux.html soll das so mit
> ffmpeg gehen:

Bei solchen (und von der Schwierigkeit ähnlichen) Fragen ist es (m.E.) 
bei Linux ratsam, bei

https://askubuntu.com/questions/50433/how-to-convert-mkv-file-into-mp4-file-losslessly
https://wiki.ubuntuusers.de/Codecs/

askubuntu bzw. dem Ubuntu-Wiki nachzuschauen.

Meistens werden problematische Hintergründe mitangesprochen.

von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Taucher schrieb:

> Tut leider auch nicht:
>
> Codec not supported:
> VLC could not decode the format "av01" (AOMedia's AV1 Video)
> 

Dann nimm' halt einfach 'ne aktuelle Version des VLC.

von Taucher (Gast)


Bewertung
0 lesenswert
nicht lesenswert
c-hater schrieb:
> Dann nimm' halt einfach 'ne aktuelle Version des VLC.

Das hilft auch nix. VLC 3.0.8 zeigt dieselbe Fehlermeldung, wie die 
Origina-Mint-19-Version und spielt nur den Ton ab.

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Bewertung
-1 lesenswert
nicht lesenswert
In dem Falle wirst Du das mit mplayer/mencoder umwandeln müssen.

https://www.nrwision.de/mitmachen/wissen/videoformate-vergleich/

Weitere Codecs nachinstallieren:

https://pinguin.gws2.de/ubuntu-codecsammlung-installieren-alle-videoformate-abspielen/

von babooshka (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Taucher schrieb:
> c-hater schrieb:
>> Dann nimm' halt einfach 'ne aktuelle Version des VLC.
>
> Das hilft auch nix. VLC 3.0.8 zeigt dieselbe Fehlermeldung, wie die
> Origina-Mint-19-Version und spielt nur den Ton ab.


deshalb ja der decoder:
https://www.videolan.org/projects/dav1d.html

zu Fuß
tar -xJf oder unzx dav1d-xxx.tar.xz
/dav1d-0.x.x/README.md

o.

hat das Ding (noch) snap?
https://snapcraft.io/install/dav1d/ubuntu

https://www.reallinuxuser.com/how-to-use-snap-in-linux-mint/

o. ...



----
gibts evtl einen greifbaren ffmpeg4.1?



EOT

von 🐧 DPA 🐧 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Taucher schrieb:
> c-hater schrieb:
>> Dann nimm' halt einfach 'ne aktuelle Version des VLC.
>
> Das hilft auch nix. VLC 3.0.8 zeigt dieselbe Fehlermeldung, wie die
> Origina-Mint-19-Version und spielt nur den Ton ab.

Ich glaube auch das ist noch zu alt.

AV1 ist halt schon was sehr neues. Auf debian buster gibts 
vlc-plugin-base (3.0.11-0+deb10u1), und in bullseye
 3.0.11.1-1. Nur bei der 3.0.11.1-1 version gibts da ne dependency zu 
libdav1d4 fürs dekodieren von AV1: 
https://packages.debian.org/bullseye/vlc-plugin-base
Wobei die 3.0.11-0+deb10u1 das über ne andere lib auch können sollte, 
vermutlich über die libavcodec58 von ffmpeg.

So oder so, schau mal mit "apt-get depends vlc-plugin-base" nach, ob da 
libdav1d4 darunter ist, und wenn nicht, ist das zumindest nicht ideal.

von 🐧 DPA 🐧 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Sorry, meinte "apt-cache depends vlc-plugin-base"

von Taucher (Gast)


Bewertung
0 lesenswert
nicht lesenswert
🐧 DPA 🐧 schrieb:
> ob da
> libdav1d4 darunter ist, und wenn nicht, ist das zumindest nicht ideal

Die Abhängigkeit fehlt. Wo gibts denn eine neuere Version von VLC für 
Linux Mint?

von 🐧 DPA 🐧 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mit mint kenne ich mich auch nicht besonders gut aus. Linux mint baut 
auf Ubuntu auf. Welche Mint Version auf welche Ubuntu Version geht 
konnte ich auf die schnelle nirgens finden.

Bei dir geht es vermutlich auf Ubuntu bionic, dort ist die Version 3.0.8 
drin, die weder libdav1d4 noch libaom0: 
https://packages.ubuntu.com/bionic/vlc-plugin-base

Bei Ubuntu Focal wäre 3.0.9.2-1 drinn, mit libaom0, und bei groovy 
3.0.11.1-1, mit libdav1d4, aber einfach so umstellen kann man das 
vermutlich nicht, sonst geht vermutlich das mint kaputt, da müsste man 
sonst auch mint hochstellen, falls es da schon ein entsprechend neues 
Release gibt.

Ich würde es von Debian holen, das ist aber auch etwas tricky. Man kann 
es nicht einfach so einbinden, sondern muss da apt pinning machen. 
Debian, damit das pinning beim nächsten Mint upgrade hoffentlich keine 
Probleme macht, bei Ubuntu könnte man sich dort sonst versehentlich beim 
upgrade die Ubuntu Packete wegpinnen, wenn mint auf die gepinnte Version 
wechselt.

Ein gewisses Risiko, dass da was kaputt geht, gibt es aber trotzdem.

Vor dem ganzen, erst mal alles updaten:
apt-get update
apt-get upgrade
apt-get dist-upgrade

Dann muss erstmal verhindert werden, dass Packete von dort automatisch 
installiert/geupdated werden. Dafür eine Datei 
/etc/apt/preferences.d/10-debian anlegen mit folgendem Inhalt:
Package: *
Pin: release n=bullseye
Pin-Priority: 300


Dann das Debian Repo hinzufügen. Dafür eine Datei 
/etc/apt/sources.list.d/debian.list mit folgendem Inhalt anlegen:
deb http://deb.debian.org/debian bullseye main contrib non-free

Es ist zu beachten, dass falls man z.B. das bullseye-updates repo oder 
so noch dazu nimmt, muss das auch beim pinning ergänzt werden.

Jetzt muss man das ganze aber erstmal testen.
Bei einem Update sollten nun keine Packete zum updaten da sein !!
Andernfalls abbrechen, und Änderungen oben rückgängig machen. Updaten 
mit:
apt-get update
apt-get upgrade

Wenn das alles soweit funktioniert hat, müsste man die neuere Version 
eigentlich wie folgt installieren können:
apt-get install -t n=bullseye vlc

Eventuell die Packetliste kontrollieren, insbesondere, dass es nichts 
deinstalliert, und nicht das halbe System ersetzt. Ob man und woher man 
dann später Updates für VLC erhält, bin ich mir gerade nicht sicher. Mit 
der Zeile oben kann man das manuell machen, wenn nötig. Man könnte 
vermutlich auch VLC (und seine Abhängigkeiten?) auf 500 pinnen, so dass 
ein "apt-get install vlc" und "apt-get upgrade" jeweils die neuste VLC 
Version unabhängig vom Repo hohlt, aber das ist mir dann schon etwas zu 
komplex.

von Taucher (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es ist wohl risikoloser, ein Linux, für das es das passende VLC gibt, in 
eine virtuelle Maschine zu installieren.

Kann jemand mit einem aktuellen Mint mal die Version des dort 
verwendeten VLC abfragen?

von Schlaumaier (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Video demuxen. Dann schauen was da für ein Format drin ist. In einen 
Avi-Container wieder muxxen und das wars. Notfalls umwandeln.

von Dieter D. (Firma: Hobbytheoretiker) (dieter_1234)


Bewertung
-1 lesenswert
nicht lesenswert
Ob AV1 überhaupt funktioniert, läßt sich mit Demos von folgender Seite 
ausprobieren:
https://www.elecard.com/videos

VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5ced72)
- Kann zumindest AV1 abspielen. Flüssiger als ffplay.

ffplay -version
ffplay version 4.1.6-1~deb10u1+rpt1 Copyright (c) 2003-2020 the FFmpeg 
developers
built with gcc 8 (Raspbian 8.3.0-6+rpi1)
- ffplay kann es auch abspielen, ist aber nicht flüssig.


MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team
- Kann den webm-Container noch nicht.

: Bearbeitet durch User
von Veit D. (devil-elec)


Bewertung
0 lesenswert
nicht lesenswert
Nimm handbrake.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.