
Ich bin in einer etwas seltsamen Situation, aber ich muss einige Inhalte zum Testen konvertieren. Im Grunde habe ich eine Reihe von mkv
Dateien mit einem Videostream und einem Stereo-Audiostream, wobei ich den Audiostream duplizieren muss, damit ich 5 (für 4.1) und 6 (für 5.1) Audiostreams herausbekomme.
Ich habe derzeit dies
#!/bin/bash
for media in $(ls $1/*.mkv); do
echo $media
ffmpeg -i $media -filter_complex \
"[0:a]pan=5.1|c0=c0|c1=c0|c2=c0|c3=c0|c4=c0|c5=c0[a]" \
-map 0:v -map "[a]" -c:v copy \
-c:a $(echo $media | sed "s/.*sps\([A-Z0-9]\+\).*/\L\1/") \
$2/${media##*/} & done
wait
Der Befehl sed wird verwendet, um das Audioformat anhand des Dateinamens zu bestimmen, in den es eingebettet ist
Dadurch wird die gewünschte Anzahl an Kanälen erstellt, aber FFMpeg wendet viele aufwändige Filter darauf an. Insbesondere beim LFE.
Die Frage ist also: Kann ich die Filterung beim Upmixing deaktivieren oder gibt es eine alternative Möglichkeit, dies zu erreichen, die ich nicht sehe?
BEARBEITEN: Beispiel-FFMPEG-Protokoll hinzugefügt
ffmpeg -i input/syncvideo_1920w1080h24fpsH265vc3160kbrv_48000spsAC3ac128kbra_3600s.mkv -filter_complex "[0:a]pan=5.1|c0=c0|c1=c0|c2=c0|c3=c0|c4=c0|c5=c0[a]" -map 0:v -map "[a]" -c:v copy -c:a ac3 output/syncvideo_1920w1080h24fpsH265vc3160kbrv_48000spsAC3ac128kbra_3600s.mkv
ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --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
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 'input/syncvideo_1920w1080h24fpsH265vc3160kbrv_48000spsAC3ac128kbra_3600s.mkv':
Metadata:
ENCODER : Lavf57.83.100
Duration: 01:00:00.01, start: 0.000000, bitrate: 679 kb/s
Stream #0:0: Video: hevc (Main), yuv420p(tv, progressive), 1920x1080, 24 fps, 24 tbr, 1k tbn, 24 tbc (default)
Metadata:
ENCODER : Lavc57.107.100 libx265
DURATION : 01:00:00.005000000
Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
ENCODER : Lavc57.107.100 ac3
DURATION : 01:00:00.000000000
File 'output/syncvideo_1920w1080h24fpsH265vc3160kbrv_48000spsAC3ac128kbra_3600s.mkv' already exists. Overwrite ? [y/N] y
Stream mapping:
Stream #0:1 (ac3) -> pan
Stream #0:0 -> #0:0 (copy)
pan -> Stream #0:1 (ac3)
Press [q] to stop, [?] for help
[Parsed_pan_0 @ 0x55993a730f40] Pure channel mapping detected: 0 0 0 0 0 0
Output #0, matroska, to 'output/syncvideo_1920w1080h24fpsH265vc3160kbrv_48000spsAC3ac128kbra_3600s.mkv':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: hevc (Main), yuv420p(tv, progressive), 1920x1080, q=2-31, 24 fps, 24 tbr, 1k tbn, 1k tbc (default)
Metadata:
ENCODER : Lavc57.107.100 libx265
DURATION : 01:00:00.005000000
Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1, fltp, 448 kb/s (default)
Metadata:
encoder : Lavc57.107.100 ac3
frame=86400 fps=2955 q=-1.0 Lsize= 439408kB time=00:59:59.99 bitrate= 999.9kbits/s speed= 123x