Ok, das ist wahrscheinlich ein sehr dummer Fehler von mir, aber ich verliere hier den Kopf. Ich verwende seit Monaten einen einfachen Befehl zum Transkodieren von MOV-Dateien:
ffmpeg -i SOURCE.mov -c:v libx264 -profile:v baseline -pix_fmt yuv420 TRANSCODED.mp4
Ich hatte nie ein Problem damit ... bis heute. Bei diesem MOV (PCM24 LE, MPEG-2) erhalte ich den oben genannten Encoder-Fehler. Hier ist das Protokoll:
ffmpeg version 2.8.4 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 5.2.0 (GCC) configuration: --enable-gpl
--enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 /
56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 /
1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Guessed Channel Layout for Input Stream #0.0 : 7.1 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'BL2.mov': Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2017-03-14 21:48:34
encoder : FFmbc 0.7
timecode : 00:13:29;19 Duration: 00:12:53.57, start: 0.000000, bitrate: 59235 kb/s
Stream #0:0(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 8 channels, s32 (24 bit), 9216 kb/s (default)
Metadata:
creation_time : 2017-03-14 21:48:34
handler_name : Apple Alias Data Handler
Stream #0:1(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2017-03-14 21:48:34
handler_name : Apple Alias Data Handler
timecode : 00:13:29;19
Stream #0:2(eng): Video: mpeg2video (4:2:2) (xd5b / 0x62356478), yuv422p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 50002 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
creation_time : 2017-03-14 22:56:29
handler_name : Apple Alias Data Handler
timecode : 00:13:29;19 [libx264 @ 0354dc20] using SAR=1/1 [libx264 @ 0354dc20] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64 [libx264 @ 0354dc20] profile Constrained Baseline, level 4.0 [libx264 @ 0354dc20] 264 - core 148 r2638 7599210 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=0 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 [libvo_aacenc @ 03bb0200] Unable to set encoding parameters
Output #0, mp4, to 'bl2.mp4': Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
timecode : 00:13:29;19
encoder : FFmbc 0.7
Stream #0:0(eng): Video: h264 (libx264), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 29.97 tbn, 29.97 tbc (default)
Metadata:
creation_time : 2017-03-14 22:56:29
handler_name : Apple Alias Data Handler
timecode : 00:13:29;19
encoder : Lavc56.60.100 libx264
Stream #0:1(eng): Audio: aac, 0 channels, 128 kb/s (default)
Metadata:
creation_time : 2017-03-14 21:48:34
handler_name : Apple Alias Data Handler
encoder : Lavc56.60.100 libvo_aacenc
Stream mapping: Stream #0:2 -> #0:0 (mpeg2video (native) -> h264 (libx264)) Stream
#0:0 -> #0:1 (pcm_s24le (native) -> aac (libvo_aacenc)) Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
Dies scheint mir zu sagen, dass es sich um ein Audioproblem handelt (obwohl ich erst letzten Freitag eine identisch codierte Datei transkodiert habe ...):
[libvo_aacenc @ 03bb0200] Kodierungsparameter können nicht eingestellt werden
Also versuche ich, den Audiocodec (nicht sicher, ob das für MP4 funktioniert ...) mit "-c:a copy" zu kopieren, und ich bekomme Folgendes:
Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 7.1 (24 bit), 9216 kb/s (default) Metadata: creation_time : 2017-03-14 21:48:34 handler_name : Apple Alias Data Handler Stream mapping: Stream #0:2 -> #0:0 (mpeg2video (native) -> h264 (libx264)) Stream
0:0 -> #0:1 (copy) Header für Ausgabedatei #0 konnte nicht geschrieben werden (falsche Codec-Parameter ?): Ungültiges Argument
Was geht hier vor sich?
Ihr AAC-Encoder unterstützt nur 2 Kanäle. hinzufügen -ac 2
.
Aber eigentlich sollten Sie Ihr FFmpeg aktualisieren. Es ist sehr alt, der VO AAC-Encoder ist nicht mehr verfügbar, da der native Encoder besser ist und 7.1-CH-Audio unterstützt, sodass kein Heruntermischen erforderlich ist.
Maldoror
Gyan