Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Mit mediainfo nach Videoformat filtern und kodieren

  1. #1
    /linux/user Avatar von torsten_boese
    Registriert seit
    Dec 2003
    Beiträge
    681

    Mit mediainfo nach Videoformat filtern und kodieren

    Hallo,

    ich möchte aus einem Verzeichnis - auch gerne rekursiv - alle Dateien auflisten die ein bestimmtes Videoformat aufweisen.
    Als Beipiel: Alle Dateien, die mit VP9 kodiert sind.

    Das tool mediainfo liefert die Information(der Suchbegriff Codes ID ist vermutlich geigent) zu einzelnen Dateien, aber erzeugt bei mehreren Dateien eine unübersichtliche Auflistung.
    Ich habe bereits versucht mit der Suchmaschine eine Lösung (egrep) zusammenzubasteln, leider ohne Erfolg.

    Im Zweiten schritt sollen diese Datein, z.B. per ffmpg, in h264 konvertiert werden.
    Wenn die beiden Schritte in "einem Rutsch" als Stapelverarbeitung möglich wären, wäre das die Ideallösung.

    Danke für eure Hilfe!

  2. #2
    Fieses Frettchen Avatar von DrunkenFreak
    Registriert seit
    Dec 2003
    Beiträge
    3.315
    Code:
    grep -Rl $SEARCHSTRING $DIR | ffmpeg $PARAMS

  3. #3
    /linux/user Avatar von torsten_boese
    Registriert seit
    Dec 2003
    Beiträge
    681
    Zitat Zitat von DrunkenFreak Beitrag anzeigen
    Code:
    grep -Rl $SEARCHSTRING $DIR | ffmpeg $PARAMS
    Hallo DrunkenFreak,
    vielen Dank für deinen Beitrag. So ganz funktioniert es noch nicht:

    In einem Verzeichnis habe ich 2 Dateien:
    Code:
    #ls
    1.mp4  2.webm
    Die 2.webm ist mit VP9 kodiert:
    Code:
    $ mediainfo 2.webm |grep 'Codec ID'
    Codec ID                                 : V_VP9
    Codec ID                                 : A_OPUS
    Code:
    grep -Rl 'V_VP9' ./
    liefert mir:
    Code:
    ./2.webm
    Code:
     grep -Rl 'V_VP9' ./ | ffmpeg -vcodec libx264 -acodec libmp3lame -ab 128k -ar 44100
    liefert mir
    Code:
    ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
      built with gcc 10 (Debian 10.2.1-6)
      configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-gnutls --disable-liblensfun --disable-libopencv --disable-podpages --disable-sndio --disable-stripping --enable-avfilter --enable-avresample --enable-gcrypt --enable-gpl --enable-ladspa --enable-libaom --enable-libaribb24 --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libdavs2 --enable-libdc1394 --enable-libfdk-aac --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libkvazaar --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libwebp --enable-libx265 --enable-libxavs2 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-nonfree --enable-openal --enable-opencl --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-vulkan --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-vaapi --enable-libmfx --enable-libvmaf --enable-libsvtav1 --enable-libilbc --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
      libavutil      56. 70.100 / 56. 70.100
      libavcodec     58.134.100 / 58.134.100
      libavformat    58. 76.100 / 58. 76.100
      libavdevice    58. 13.100 / 58. 13.100
      libavfilter     7.110.100 /  7.110.100
      libavresample   4.  0.  0 /  4.  0.  0
      libswscale      5.  9.100 /  5.  9.100
      libswresample   3.  9.100 /  3.  9.100
      libpostproc    55.  9.100 / 55.  9.100
    Trailing option(s) found in the command: may be ignored.
    Hyper fast Audio and Video encoder
    usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
    
    Use -h to get full help or, even better, run 'man ffmpeg'
    Ein zweiter Aspekt, für mich nicht so wichtig, aber bei wachsender Anzahl und Größe der Dateien:
    Wenn die Datei keinen VP9 codec enthält durchsucht grep die gesamte Datei - dies führt bei großen Datenumfängen zu längeren Suchen. Wenn sich mediainfo verwenden ließe, könnte man dies umgehen.
    Geändert von torsten_boese (01.12.21 um 20:27 Uhr) Grund: habe deinen Befehl leider falsch abgeschrieben...

  4. #4
    Fieses Frettchen Avatar von DrunkenFreak
    Registriert seit
    Dec 2003
    Beiträge
    3.315
    Code:
    find $DIR -type f|xargs mediainfo $PARAM|grep -l $STRING # ein kleines L und nicht die Zahl eins
    while read line
    do
    ffmpeg $PARAM
    done
    Damit solltest du einen Start haben.

Ähnliche Themen

  1. Emby Kodi Log nach (r)syslog umleiten und filtern
    Von MadM4x im Forum Linux Allgemein
    Antworten: 1
    Letzter Beitrag: 08.12.17, 21:43
  2. KMail & Filtern nach Kategorien
    Von Adreiaan im Forum Anwendungen Allgemein, Software
    Antworten: 2
    Letzter Beitrag: 01.11.11, 16:36
  3. [OT] - unidentifizierbares Videoformat
    Von Stormbringer im Forum Meldungen und Mitglieder
    Antworten: 5
    Letzter Beitrag: 29.09.04, 09:07
  4. Flecken (Farbverfälschungen) nach kodieren in XViD!
    Von jean_luc_picard im Forum Fernsehen
    Antworten: 2
    Letzter Beitrag: 16.11.03, 07:59
  5. mails nach empfänger filtern, wg. spam
    Von phoenix018 im Forum Sicherheit
    Antworten: 9
    Letzter Beitrag: 28.10.03, 12:06

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •