
Recherche avancée
Médias (2)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (29)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (5591)
-
FFMPEG recode clip1 to match clip2 for concat demux
21 novembre 2020, par Gert GottschalkI want to concat two video clips using ffmpeg concat. To use concat demuxer both should have same codec settings. clip2 is much shorter so I want to recode it to match clip1. Initially clip2 had tbn not matching and I adjusted that with '-video_track_timescale 50000'. Still the concat video after the cut into clip2 is garbled (audio seems OK)


This is what ffprobe tells for clip1 :


ffprobe version N-80251-g0c7fa15 Copyright (c) 2007-2016 the FFmpeg developers
 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
 configuration: --prefix=/home/tools/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/tools/ffmpeg_build/include --extra-ldflags=-L/home/tools/ffmpeg_build/lib --bindir=/home/tools/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
 libavutil 55. 24.100 / 55. 24.100
 libavcodec 57. 45.100 / 57. 45.100
 libavformat 57. 37.101 / 57. 37.101
 libavdevice 57. 0.101 / 57. 0.101
 libavfilter 6. 46.101 / 6. 46.101
 libswscale 4. 1.100 / 4. 1.100
 libswresample 2. 0.101 / 2. 0.101
 libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 1
 compatible_brands: isomavc1
 creation_time : 2020-11-09 01:16:52
 Duration: 01:23:09.33, start: 0.000000, bitrate: 2279 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2080 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 creation_time : 2020-11-09 01:16:52
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD_video.h264@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)
 Metadata:
 creation_time : 2020-11-09 01:17:45
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD.aac@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1



From clip2


ffprobe version N-80251-g0c7fa15 Copyright (c) 2007-2016 the FFmpeg developers
 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
 configuration: --prefix=/home/tools/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/tools/ffmpeg_build/include --extra-ldflags=-L/home/tools/ffmpeg_build/lib --bindir=/home/tools/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
 libavutil 55. 24.100 / 55. 24.100
 libavcodec 57. 45.100 / 57. 45.100
 libavformat 57. 37.101 / 57. 37.101
 libavdevice 57. 0.101 / 57. 0.101
 libavfilter 6. 46.101 / 6. 46.101
 libswscale 4. 1.100 / 4. 1.100
 libswresample 2. 0.101 / 2. 0.101
 libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf57.37.101
 comment : 
 Duration: 00:18:42.02, start: 0.000000, bitrate: 1693 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1553 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 130 kb/s (default)
 Metadata:
 handler_name : SoundHandler



Then for concat :


/home/tools/bin/ffmpeg -f concat -i list.files -y clip12.mp4



The only gap is with
clip1 : 2080 kb/s
clip2 : 1553 kb/s


Is that significant ?


If yes, how to recode clip2 to match and result in concat clip12 being clean ?


EDIT (Per feedback from llogan) :


Probing input clips with latest ffprobe.


Clip1 :


ffprobe version N-54874-ga1553b0cfb-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 8 (Debian 8.3.0-6)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
 libavutil 56. 60.100 / 56. 60.100
 libavcodec 58.112.101 / 58.112.101
 libavformat 58. 64.100 / 58. 64.100
 libavdevice 58. 11.102 / 58. 11.102
 libavfilter 7. 88.102 / 7. 88.102
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 1
 compatible_brands: isomavc1
 creation_time : 2020-11-09T01:16:52.000000Z
 Duration: 01:23:09.33, start: 0.000000, bitrate: 2279 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2080 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 creation_time : 2020-11-09T01:16:52.000000Z
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD_video.h264@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)
 Metadata:
 creation_time : 2020-11-09T01:17:45.000000Z
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD.aac@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1



Command & log to change clip2 :


/usr/share/ffmpeg.4.3.1//ffmpeg-git-20201104-amd64-static/ffmpeg -i clip2.avi -ss 00:12:55 -t 00:05:48 -c:v libx264 -profile:v main -video_track_timescale 50k -c:a copy -y clip2.mp4 2> ffmpeg_clip2.log
ffmpeg version N-54874-ga1553b0cfb-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 8 (Debian 8.3.0-6)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
 libavutil 56. 60.100 / 56. 60.100
 libavcodec 58.112.101 / 58.112.101
 libavformat 58. 64.100 / 58. 64.100
 libavdevice 58. 11.102 / 58. 11.102
 libavfilter 7. 88.102 / 7. 88.102
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, avi, from 'clip2.avi':
 Metadata:
 comment : 
 encoder : Lavf58.42.100
 encoded_by : www.onlinetvrecorder.com
 Duration: 00:35:48.90, start: 0.000000, bitrate: 2243 kb/s
 Stream #0:0: Video: h264 (Main) (H264 / 0x34363248), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 2034 kb/s, 50 fps, 50 tbr, 50 tbn, 100 tbc
 Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A 
...
frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A
[libx264 @ 0x71fb740] using SAR=1/1
[libx264 @ 0x71fb740] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3
[libx264 @ 0x71fb740] profile Main, level 3.2, 4:2:0, 8-bit
[libx264 @ 0x71fb740] 264 - core 161 r3027 4121277 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 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=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 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
Output #0, mp4, to 'clip2.mp4':
 Metadata:
 comment : 
 encoded_by : www.onlinetvrecorder.com
 encoder : Lavf58.64.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 50 fps, 50k tbn, 50 tbc
 Metadata:
 encoder : Lavc58.112.101 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1: Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s
frame= 15 fps=0.4 q=0.0 size= 0kB time=00:00:00.31 bitrate= 1.2kbits/s speed=0.00806x 
...
frame=17400 fps= 73 q=-1.0 Lsize= 62382kB time=00:05:47.97 bitrate=1468.6kbits/s speed=1.47x 
video:53846kB audio:8156kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.611439%
[libx264 @ 0x71fb740] frame I:157 Avg QP:18.21 size: 42082
[libx264 @ 0x71fb740] frame P:5607 Avg QP:22.21 size: 6677
[libx264 @ 0x71fb740] frame B:11636 Avg QP:23.93 size: 953
[libx264 @ 0x71fb740] consecutive B-frames: 8.3% 6.0% 5.0% 80.8%
[libx264 @ 0x71fb740] mb I I16..4: 47.5% 0.0% 52.5%
[libx264 @ 0x71fb740] mb P I16..4: 5.7% 0.0% 1.1% P16..4: 35.4% 6.2% 3.0% 0.0% 0.0% skip:48.4%
[libx264 @ 0x71fb740] mb B I16..4: 0.2% 0.0% 0.0% B16..8: 21.0% 0.4% 0.0% direct: 0.5% skip:77.9% L0:45.1% L1:53.8% BI: 1.2%
[libx264 @ 0x71fb740] coded y,uvDC,uvAC intra: 24.6% 38.3% 6.0% inter: 2.8% 4.7% 0.0%
[libx264 @ 0x71fb740] i16 v,h,dc,p: 43% 24% 15% 18%
[libx264 @ 0x71fb740] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 20% 19% 6% 7% 6% 6% 6% 4%
[libx264 @ 0x71fb740] i8c dc,h,v,p: 57% 20% 20% 4%
[libx264 @ 0x71fb740] Weighted P-Frames: Y:0.5% UV:0.4%
[libx264 @ 0x71fb740] ref P L0: 70.3% 12.1% 14.0% 3.6% 0.0%
[libx264 @ 0x71fb740] ref B L0: 92.9% 5.9% 1.2%
[libx264 @ 0x71fb740] ref B L1: 97.5% 2.5%
[libx264 @ 0x71fb740] kb/s:1267.54



I'm observing mismatch in what I assume is the audio channel.


Clip1 :


/usr/share/ffmpeg.4.3.1//ffmpeg-git-20201104-amd64-static/ffprobe clip1.mp4
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2080 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)



Clip2 :


/usr/share/ffmpeg.4.3.1//ffmpeg-git-20201104-amd64-static/ffprobe clip2.mp4 
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1267 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)



Probably need to match audio channel. I noticed that the concat too a long time. I was expecting the concat to just do copying and not re-rendering.


-
FFMPEG-PHP Error "Sample rate index in program config element does not match the sample rate index configured by the container."
21 novembre 2020, par JonathanAm using FFMPEG installed on a Windows server. I have a PHP webpage that uploads and trims videos using FFMPEG, when I upload MP4's with AAC audio, especially videos over 100mb, I get the following errors in the log output below.


I was wondering if anyone could point me in the right direction to getting this resolved.


Log output of the error below :


<pre>object(FFMpeg\Exception\RuntimeException)#35 (7) {
 ["message":protected]=>
 string(15) "Encoding failed"
 ["string":"Exception":private]=>
 string(0) ""
 ["code":protected]=>
 int(0)
 ["file":protected]=>
 string(108) "C:\inetpub\wwwroot\dev\ffmpeg-lib\ffmpeg-php\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Media\AbstractVideo.php"
 ["line":protected]=>
 int(106)
 ["trace":"Exception":private]=>
 array(1) {
 [0]=>
 array(5) {
 ["file"]=>
 string(45) "C:\inetpub\wwwroot\dev\ffmpeg-lib\process.php"
 ["line"]=>
 int(35)
 ["function"]=>
 string(4) "save"
 ["class"]=>
 string(26) "FFMpeg\Media\AbstractVideo"
 ["type"]=>
 string(2) "->"
 }
 }
 ["previous":"Exception":private]=>
 object(Alchemy\BinaryDriver\Exception\ExecutionFailureException)#43 (9) {
 ["command":protected]=>
 string(393) "C:\ffmpeg\bin\ffmpeg.exe -y -ss 00:00:17.00 -i "temp/temp_20201110-100656_1080p-220mb.mp4" -t 00:00:52.00 -threads 12 -vcodec libx264 -acodec aac -b:v 1000k -refs 6 -coder 1 -sc_threshold 40 -flags +loop -me_range 16 -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -trellis 1 -b:a 128k -pass 1 -passlogfile "W:/TempIIS\ffmpeg-passes5fabd8bdf3612uvd6b/pass-5fabd8bdf378b" "temp/20201111-122741.mp4""
 ["errorOutput":protected]=>
 string(830102) "ffmpeg version git-2020-08-31-4a11a6f Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 10.2.1 (GCC) 20200805
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --enable-libsvtav1 --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
 libavutil 56. 58.100 / 56. 58.100
 libavcodec 58.101.101 / 58.101.101
 libavformat 58. 51.101 / 58. 51.101
 libavdevice 58. 11.101 / 58. 11.101
 libavfilter 7. 87.100 / 7. 87.100
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'temp/temp_20201110-100656_1080p-220mb.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 19529854
 compatible_brands: mp42isom
 creation_time : 2016-04-11T06:32:53.000000Z
 Duration: 00:02:25.98, start: 0.000000, bitrate: 13772 kb/s
 Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
 Metadata:
 creation_time : 2016-04-11T06:32:53.000000Z
 handler_name : Sound Media Handler
 Stream #0:1(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 13639 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
 Metadata:
 creation_time : 2016-04-11T06:32:53.000000Z
 handler_name : Video Media Handler
 encoder : AVC Coding
Stream mapping:
 Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:0 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[aac @ 000001fc5a9ce8c0] Sample rate index in program config element does not match the sample rate index configured by the container.
[h264 @ 000001fc5a3dac80] Invalid NAL unit size (-360624822 > 108076).
[h264 @ 000001fc5a3dac80] Error splitting the input into NAL units.
[aac @ 000001fc5a9ce8c0] Inconsistent channel configuration.
[aac @ 000001fc5a9ce8c0] get_buffer() failed
Error while decoding stream #0:0: Invalid argument
[aac @ 000001fc5a9ce8c0] Sample rate index in program config element does not match the sample rate index configured by the container.
[aac @ 000001fc5a9ce8c0] Inconsistent channel configuration.
[aac @ 000001fc5a9ce8c0] get_buffer() failed
Error while decoding stream #0:0: Invalid argument
[aac @ 000001fc5a9ce8c0] channel element 2.15 is not allocated
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] Sample rate index in program config element does not match the sample rate index configured by the container.
[aac @ 000001fc5a9ce8c0] Inconsistent channel configuration.
[aac @ 000001fc5a9ce8c0] get_buffer() failed
Error while decoding stream #0:0: Invalid argument
[h264 @ 000001fc5a3be480] Invalid NAL unit size (1926587749 > 39711).
[h264 @ 000001fc5a3be480] Error splitting the input into NAL units.
[h264 @ 000001fc5a3e4540] Invalid NAL unit size (-1483385910 > 21666).
[h264 @ 000001fc5a3e4540] Error splitting the input into NAL units.
[h264 @ 000001fc5ad06500] Invalid NAL unit size (1060193647 > 41388).
[h264 @ 000001fc5ad06500] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
[h264 @ 000001fc5ad22e80] Invalid NAL unit size (1499431567 > 26513).
[h264 @ 000001fc5ad22e80] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
[h264 @ 000001fc5a3dac80] Invalid NAL unit size (-23485766 > 46738).
[h264 @ 000001fc5a3dac80] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
[h264 @ 000001fc5a3be480] Invalid NAL unit size (2023411154 > 21613).
[h264 @ 000001fc5a3be480] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
[h264 @ 000001fc5a3e4540] Invalid NAL unit size (519125029 > 48521).
[h264 @ 000001fc5a3e4540] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
[h264 @ 000001fc5ad06500] Invalid NAL unit size (-2099015076 > 25631).
[h264 @ 000001fc5ad06500] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
[h264 @ 000001fc5ad22e80] Invalid NAL unit size (-1081182476 > 46590).
[h264 @ 000001fc5ad22e80] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] channel element 2.0 is not allocated
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] Multiple frames in a packet.
[aac @ 000001fc5a9ce8c0] Sample rate index in program config element does not match the sample rate index configured by the container.
[h264 @ 000001fc5a3dac80] Invalid NAL unit size (-2080403149 > 27914).
[h264 @ 000001fc5a3dac80] Error splitting the input into NAL units.
[aac @ 000001fc5a9ce8c0] Inconsistent channel configuration.
[aac @ 000001fc5a9ce8c0] get_buffer() failed
Error while decoding stream #0:0: Invalid argument
[aac @ 000001fc5a9ce8c0] Sample rate index in program config element does not match the sample rate index configured by the container.
[aac @ 000001fc5a9ce8c0] Inconsistent channel configuration.
[aac @ 000001fc5a9ce8c0] get_buffer() failed
Error while decoding stream #0:0: Invalid argument
[aac @ 000001fc5a9ce8c0] channel element 3.9 is not allocated
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] Reserved bit set.
[aac @ 000001fc5a9ce8c0] Prediction is not allowed in AAC-LC.
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] channel element 2.6 is not allocated
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] Number of scalefactor bands in group (52) exceeds limit (49).
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] channel element 3.10 is not allocated
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] channel element 2.13 is not allocated
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] channel element 3.8 is not allocated
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] Reserved bit set.
[aac @ 000001fc5a9ce8c0] Prediction is not allowed in AAC-LC.
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] channel element 3.9 is not allocated
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] Number of bands (50) exceeds limit (49).
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] Sample rate index in program config element does not match the sample rate index configured by the container.
[aac @ 000001fc5a9ce8c0] Inconsistent channel configuration.
[aac @ 000001fc5a9ce8c0] get_buffer() failed
Error while decoding stream #0:0: Invalid argument
[aac @ 000001fc5a9ce8c0] Reserved bit set.
[aac @ 000001fc5a9ce8c0] Number of bands (17) exceeds limit (13).
Error while decoding stream #0:0: Invalid data found when processing input
[aac @ 000001fc5a9ce8c0] Sample rate index in program config element does not match the sample rate index configured by the container.
[aac @ 000001fc5a9ce8c0] Inconsistent channel configuration.
[aac @ 000001fc5a9ce8c0] get_buffer() failed
Error while decoding stream #0:0: Invalid argument
Error while decoding stream #0:1: Invalid data found when processing input
[h264 @ 000001fc5a3be480] Invalid NAL unit size (-296706614 > 48346).
[h264 @ 000001fc5a3be480] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
[h264 @ 000001fc5a3e4540] Invalid NAL unit size (-1419758286 > 23497).
[h264 @ 000001fc5a3e4540] Error splitting the input into NAL units.
Error while decoding stream #0:1: Invalid data found when processing input
[h264 @ 000001fc5ad06500] Invalid NAL unit size (86578229 > 53255).
[h264 @ 000001fc5ad06500] Error splitting the input into NAL units.
</pre>


-
FFMPEG - Multi Track, Multi Channel file to discrete mono files
26 novembre 2020, par vadeI have files which are multi track, and multi channel (ie, track 1 may be 5.1, track 2 may be stereo, track 3 may be stereo etc)


I am looking to output every channel from every track into its own 'unrolled' discrete mono file.


example media :


ffprobe version 4.3.1-0york0~18.04 Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
 configuration: --prefix=/usr --extra-version='0york0~18.04' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libzimg --enable-pocketsphinx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
[mxf @ 0x55d3e7fc2680] wrapping of stream 0 is unknown
[jpeg2000 @ 0x55d3e805ce00] End mismatch 1
 Last message repeated 1 times
Input #0, mxf, from 'redacted.mxf':
 Metadata:
 operational_pattern_ul: 060e2b34.04010101.0d010201.01010900
 modification_date: 2019-10-03T09:58:16.368000Z
 uid : f6267ae2-680e-4357-9b1d-c77c045d3cd7
 generation_uid : e7e6f5a1-6f15-4df5-aea8-a41f3ef535d6
 company_name : redacted
 product_name : redacted
 product_version : 11.6.1.5.301404
 product_uid : 84ae5ffc-4710-11dd-a6fe-0010c629ec73
 application_platform: 4KICR1
 material_package_umid: 0x060A2B340101010501010D2013000000BE3608F3135E48AD99E4340643E47F22
 timecode : 00:59:20:00
 Duration: 00:26:16.07, start: 0.000000, bitrate: 139194 kb/s
 Stream #0:0: Video: jpeg2000, yuv422p10le(progressive), 1920x1080, SAR 1:1 DAR 16:9, 23.98 tbr, 23.98 tbn, 23.98 tbc
 Metadata:
 file_package_umid: 0x060A2B340101010501010D201300000091A43E578B86490698045924FA9EECC5
 track_name : Picture
 Stream #0:1: Audio: pcm_s24le, 48000 Hz, 6 channels, s32 (24 bit), 6912 kb/s
 Metadata:
 file_package_umid: 0x060A2B340101010501010D201300000091A43E578B86490698045924FA9EECC5
 track_name : Sound
 Stream #0:2: Audio: pcm_s24le, 48000 Hz, 2 channels, s32 (24 bit), 2304 kb/s
 Metadata:
 file_package_umid: 0x060A2B340101010501010D201300000091A43E578B86490698045924FA9EECC5
 track_name : Sound
 Stream #0:3: Audio: pcm_s24le, 48000 Hz, 2 channels, s32 (24 bit), 2304 kb/s
 Metadata:
 file_package_umid: 0x060A2B340101010501010D201300000091A43E578B86490698045924FA9EECC5
 track_name : Sound
 Stream #0:4: Audio: pcm_s24le, 48000 Hz, 2 channels, s32 (24 bit), 2304 kb/s
 Metadata:
 file_package_umid: 0x060A2B340101010501010D201300000091A43E578B86490698045924FA9EECC5
 track_name : Sound
 Stream #0:5: Data: none
 Metadata:
 file_package_umid: 0x060A2B340101010501010D201300000091A43E578B86490698045924FA9EECC5
 track_name : Auxiliary Data
 data_type : vbi_vanc_smpte_436M
Unsupported codec with id 0 for input stream 5



These files are vendor qualified masters, and the track / channel combinations vary between vendors, so some might be stereo, 5.1, 7.1 order, some might be all discrete mono already, some might be discrete stereo, 5.1, and mono tracks. Its all a mix. So im looking for some general strategy that gracefully handles all channels from all tracks.


Now I have seen various strategies documented to handle discretizing audio via ffmpeg docs, but none of them seem to show how to target different channels from different tracks. Im sure its a
pebkac
error, but I'd love some guidance.

I have tried both a
map_channel
approach as well as a-filtercomplex channelsplit
approach.

ffmpeg -i redacted.mxf -ss 60 \
-map_channel 0.1.0 -t 10 track_1_0.wav \
-map_channel 0.1.1 -t 10 track_1_1.wav \
-map_channel 0.1.2 -t 10 track_1_2.wav \
-map_channel 0.1.3 -t 10 track_1_3.wav \
-map_channel 0.1.4 -t 10 track_1_4.wav \
-map_channel 0.1.5 -t 10 track_1_5.wav \
-map_channel 0.2.0 -t 10 track_2_0.wav \
-map_channel 0.2.1 -t 10 track_2_1.wav \
-map_channel 0.3.0 -t 10 track_3_0.wav \
-map_channel 0.3.1 -t 10 track_3_1.wav \
-map_channel 0.4.0 -t 10 track_4_0.wav \
-map_channel 0.4.1 -t 10 track_4_1.wav 



However, the output files are not all mono, some are marked as 5.1. I dont believe they are inheriting a sane / correct channel layout (mono) - but the output files that are marked 5.1 are nonsensical, as they are all sourced from stereo tracks. ie track_2_0.wav track_2_1.wav, track_3_0.wav, track_3_1.wav, track_4_0.wav, track_4_1.wav. Which seems odd. Track 1_0 from the above command outputs a sane media info :


File size : 938 KiB
Duration : 10s 0ms
Overall bit rate mode : Constant
Overall bit rate : 768 Kbps
Writing application : Lavf58.45.100

Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 10s 0ms
Bit rate mode : Constant
Bit rate : 768 Kbps
Channel(s) : 1 channel
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Stream size : 938 KiB (100%)




However the second and 3rd track have the wrong channel layout and an unexpected codec id :


Format : Wave
File size : 5.49 MiB
Duration : 10s 0ms
Overall bit rate mode : Constant
Overall bit rate : 4 608 Kbps
Writing application : Lavf58.45.100

Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 00000001-0000-0010-8000-00AA00389B71
Duration : 10s 0ms
Bit rate mode : Constant
Bit rate : 4 608 Kbps
Channel(s) : 6 channels
Channel layout : L R C LFE Lb Rb
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Stream size : 5.49 MiB (100%)




Additionally re : map_channel, there are some docs that cast doubt that its the right approach :




Note that currently each output stream can only contain channels from a single input stream ; you can’t for example use "-map_channel" to pick multiple input audio channels contained in different streams (from the same or different files) and merge them into a single output stream. It is therefore not currently possible, for example, to turn two separate mono streams into a single stereo stream. However splitting a stereo stream into two single channel mono streams is possible.




Using filter complex, the docs/bug tracker have an example of discretizing 5.1 and marking mono. I can target the tracks I want, and get a valid filter chain as seen in debug log reporting, however I only get audio for the 1st track :


ffmpeg -y -v 40 -i redacted.mxf -ss 60 \
 -disposition:a default \
 -filter_complex \
 "[0:a:0]channelsplit=channel_layout=5.1[c1][c2][c3][c4][c5][c6],\
 [c1]aformat=channel_layouts=mono[c1],\
 [c2]aformat=channel_layouts=mono[c2],\
 [c3]aformat=channel_layouts=mono[c3],\
 [c4]aformat=channel_layouts=mono[c4],\
 [c5]aformat=channel_layouts=mono[c5],\
 [c6]aformat=channel_layouts=mono[c6],\
 [0:a:1]channelsplit=channel_layout=stereo[c7][c8],\
 [c7]aformat=channel_layouts=mono[c7],\
 [c8]aformat=channel_layouts=mono[c8],\
 [0:a:2]channelsplit=channel_layout=stereo[c9][c10],\
 [c9]aformat=channel_layouts=mono[c9],\
 [c10]aformat=channel_layouts=mono[c10],\
 [0:a:3]channelsplit=channel_layout=stereo[c11][c12],\
 [c11]aformat=channel_layouts=mono[c11],\
 [c12]aformat=channel_layouts=mono[c12]"\
 -map "[c1]" -t 10 1.wav\
 -map "[c2]" -t 10 2.wav\
 -map "[c3]" -t 10 3.wav\
 -map "[c4]" -t 10 4.wav\
 -map "[c5]" -t 10 5.wav\
 -map "[c6]" -t 10 6.wav\
 -map "[c7]" -t 10 7.wav\
 -map "[c8]" -t 10 8.wav\
 -map "[c9]" -t 10 9.wav\
 -map "[c10]" -t 10 10.wav\
 -map "[c11]" -t 10 11.wav\
 -map "[c12]" -t 10 12.wav



TL/DR ;


In short, how does one export every channel of every track as a discrete mono audio track (regardless of the channel layouts ?)


Thank you !