Ich muss einige hochauflösende Videos (Prores- oder dnxhd-Dateien mit 5.1-unkomprimiertem 48-kHz-Audio im MOV-Container) in ihr h264 mit niedriger Auflösung transcodieren, wobei AAC das Audio in 5.1 behält und ihre Kanalzuordnung beibehält.
Dazu habe ich versucht, diesen Befehl zu verwenden:
ffmpeg -y -i input.mov -c:v libx264 -preset ultrafast -b:v 10000k -c:a libfdk_aac -afterburner 1 -cutoff 20000 -filter:v "scale=-1:720" output.mp4
Die Version, die ich verwende, ist ffmpeg version N-87584-g47d6b02f6c-Reino
ziemlich neu.
Was passiert ist, dass selbst wenn die Videoverarbeitung in Ordnung ist, meine Kanäle für den Audioteil falsch zugeordnet werden. Um besser zu erklären, was passiert, habe ich einen Screenshot von Vorher- und Nachher-Wellenformen in Adobe Audition gemacht.
Dies sind die Wellenformen der Eingabedatei :
Dies sind stattdessen die Wellenformen der transkodierten Datei:
Lassen Sie mich noch einmal die ffprobe-Teile posten, die sich auf das Audio beziehen:
Eingabedatei:
Stream #0:1(eng): Audio: pcm_s24le (lpcm / 0x6D63706C), 48000 Hz, 5.1, s32 (24 bit), 6912 kb/s (default)
Metadata:
creation_time : 2018-01-02T09:48:58.000000Z
handler_name : Apple Alias Data Handler
timecode : 00:00:00:00
transcodierte Datei:
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 488 kb/s (default)
Metadata:
handler_name : SoundHandler
und zum Abschluss MediaInfo Lite
Originaldatei:
Audio
ID : 2
Format : PCM
Format settings : Little / Signed
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : lpcm
Duration : 1 h 30 min
Bit rate mode : Constant
Bit rate : 6 912 kb/s
Channel(s) : 6 channels
Channel positions : Front: L C R, Back: L R, LFE
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Stream size : 4.35 GiB (5%)
Language : English
Encoded date : UTC 2018-01-02 09:48:58
Tagged date : UTC 2018-01-02 10:16:46
transcodierte Datei:
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 1 h 30 min
Duration_LastFrame : -8 ms
Bit rate mode : Constant
Bit rate : 489 kb/s
Channel(s) : 2 channels
Channel(s)_Original : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 315 MiB (5%)
Language : English
Default : Yes
Alternate group : 1
Wenn Sie die mp4-Datei mit VLC abspielen, hören Sie deutlich, dass etwas schlecht vertauscht ist.
Ich bin offen für eine Lösung ;)
FFmpeg geht davon aus, dass die 5.1-Kanalzuordnung des Eingangs mit der verwendeten identisch ist. Um dies zu korrigieren, verwenden Sie den Channelmap-Filter zur Neuzuordnung und fügen Sie Folgendes hinzu:
-af "channelmap=4|0|1|2|3|5:5.1"
(Ich habe es auf den Kanalbezeichnungen rechts in Ihren Bildern basiert)
Benutzer3450548
Benutzer3450548
Gyan
Benutzer3450548