[FFmpeg-user] Channel layout flags

James Heliker james.heliker at gmail.com
Wed Oct 21 14:54:43 CEST 2015


On Oct 20, 2015, at 10:39 PM, Kevin Wells <kevwells at hotmail.co.uk> wrote:

>> To: ffmpeg-user at ffmpeg.org
>> From: james.heliker at gmail.com
>> Date: Tue, 20 Oct 2015 14:39:33 -0700
>> Subject: Re: [FFmpeg-user] Channel layout flags
>> 
>> On 10/20/2015 2:30 PM, Kevin Wells wrote:
>>>> From: kevwells at hotmail.co.uk
>>>> To: ffmpeg-user at ffmpeg.org
>>>> Date: Tue, 20 Oct 2015 20:14:31 +0000
>>>> Subject: [FFmpeg-user] Channel layout flags
>>>> 
>>>> Hi, I posted this incorrectly on the dev list, so posting in the correct place with corrections.
>>>> I am looking for a patch, or solution, to my problem. When using the below Channel layout flags, in the resulting Quicktime Prores file, in the audio channels, the FC, DL and DR all come out flagged as 'Mono', but I would like these flagged as 'Center', 'Left Total' and 'Right Total'. Is there a patch / command / flag to get these flagged to how I label them please?
>>>> 
>>>> Here is my current command:
>>>> 
>>>> ffmpeg -i /Volumes/GRAID/EXPORTS/DESCRETE_TEST.mov -ss 45 -to 50 -filter_complex \
>>>> "[0:1]pan=FL|c0=c0[FL]; \
>>>>  [0:1]pan=FR|c0=c1[FR]; \
>>>>  [0:1]pan=FC|c0=c2[FC]; \
>>>>  [0:1]pan=LFE|c0=c3[LFE]; \
>>>>  [0:1]pan=BL|c0=c4[BL]; \
>>>>  [0:1]pan=BR|c0=c5[BR]; \
>>>>  [0:1]pan=DL|c0=c6[DL]; \
>>>>  [0:1]pan=DR|c0=c7[DR]" \
>>>> -map v:0 \
>>>> -map "[FL]" \
>>>> -map "[FR]" \
>>>> -map "[FC]" \
>>>> -map "[LFE]" \
>>>> -map "[BL]" \
>>>> -map "[BR]" \
>>>> -map "[DL]" \
>>>> -map "[DR]" \
>>>> -vcodec prores -profile:v 3 -vtag apcn -f mov -y -c:a pcm_s24le /Volumes/GRAID/EXPORTS/DONE_TEST.mov
>>>> 
>>>> When viewing the result in Quicktime player, they are displayed as:
>>>> 
>>>> Video
>>>> Front Left
>>>> Front Right
>>>> Mono (would like it to be Center)
>>>> Left Surround
>>>> Right Surround
>>>> Mono (would like it to be Left Total)
>>>> Mono (would like it to be Right Total)
>>>> Below is the ffmpeg output.
>>>> 
>>>> ffmpeg -i /Volumes/GRAID/EXPORTS/DESCRETE_TEST.mov -ss 45 -to 50 -filter_complex \
>>>>> "[0:1]pan=FL|c0=c0[FL]; \
>>>>>  [0:1]pan=FR|c0=c1[FR]; \
>>>>>  [0:1]pan=FC|c0=c2[FC]; \
>>>>>  [0:1]pan=LFE|c0=c3[LFE]; \
>>>>>  [0:1]pan=BL|c0=c4[BL]; \
>>>>>  [0:1]pan=BR|c0=c5[BR]; \
>>>>>  [0:1]pan=DL|c0=c6[DL]; \
>>>>>  [0:1]pan=DR|c0=c7[DR]" \
>>>>> -map v:0 \
>>>>> -map "[FL]" \
>>>>> -map "[FR]" \
>>>>> -map "[FC]" \
>>>>> -map "[LFE]" \
>>>>> -map "[BL]" \
>>>>> -map "[BR]" \
>>>>> -map "[DL]" \
>>>>> -map "[DR]" \
>>>>> -vcodec prores -profile:v 3 -vtag apcn -f mov -y -c:a pcm_s24le /Volumes/GRAID/EXPORTS/DONE_TEST.mov
>>>> ffmpeg version 2.8.1-tessus Copyright (c) 2000-2015 the FFmpeg developers
>>>>   built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
>>>>   configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --as=yasm --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-version3 --disable-ffplay --disable-indev=qtkit --disable-indev=x11grab_xcb
>>>>   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
>>>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/GRAID/EXPORTS/DESCRETE_TEST.mov':
>>>>   Metadata:
>>>>     major_brand     : qt
>>>>     minor_version   : 537199360
>>>>     compatible_brands: qt
>>>>     creation_time   : 2015-10-20 14:25:55
>>>>   Duration: 00:01:37.08, start: 0.000000, bitrate: 160894 kb/s
>>>>     Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le, 1920x1080, 151675 kb/s, 24 fps, 24 tbr, 24 tbn, 24 tbc (default)
>>>>     Metadata:
>>>>       creation_time   : 2015-10-20 14:25:55
>>>>       handler_name    : Apple Alias Data Handler
>>>>       encoder         : Apple ProRes 422 HQ
>>>>     Stream #0:1(eng): Audio: pcm_s24le (lpcm / 0x6D63706C), 48000 Hz, 8 channels (FL+FR+FC+LFE+SL+SR+DL+DR), s32 (24 bit), 9216 kb/s (default)
>>>>     Metadata:
>>>>       creation_time   : 2015-10-20 14:28:55
>>>>       handler_name    : Apple Alias Data Handler
>>>> [Parsed_pan_7 @ 0x7fe7d1e05dc0] Pure channel mapping detected: 7
>>>> [Parsed_pan_6 @ 0x7fe7d1e05b60] Pure channel mapping detected: 6
>>>> [Parsed_pan_5 @ 0x7fe7d1e05860] Pure channel mapping detected: 5
>>>> [Parsed_pan_4 @ 0x7fe7d1e05580] Pure channel mapping detected: 4
>>>> [Parsed_pan_3 @ 0x7fe7d1e05280] Pure channel mapping detected: 3
>>>> [Parsed_pan_2 @ 0x7fe7d1e04f80] Pure channel mapping detected: 2
>>>> [Parsed_pan_1 @ 0x7fe7d1e04ba0] Pure channel mapping detected: 1
>>>> [Parsed_pan_0 @ 0x7fe7d1e048c0] Pure channel mapping detected: 0
>>>> Output #0, mov, to '/Volumes/GRAID/EXPORTS/DONE_TEST.mov':
>>>>   Metadata:
>>>>     major_brand     : qt
>>>>     minor_version   : 537199360
>>>>     compatible_brands: qt
>>>>     encoder         : Lavf56.40.101
>>>>     Stream #0:0(eng): Video: prores (apch) (apch / 0x68637061), yuv422p10le, 1920x1080, q=2-31, 200 kb/s, 24 fps, 12288 tbn, 24 tbc (default)
>>>>     Metadata:
>>>>       creation_time   : 2015-10-20 14:25:55
>>>>       handler_name    : Apple Alias Data Handler
>>>>       encoder         : Lavc56.60.100 prores
>>>>     Stream #0:1: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (FL), s32, 1152 kb/s (default)
>>>>     Metadata:
>>>>       encoder         : Lavc56.60.100 pcm_s24le
>>>>     Stream #0:2: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (FR), s32, 1152 kb/s
>>>>     Metadata:
>>>>       encoder         : Lavc56.60.100 pcm_s24le
>>>>     Stream #0:3: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
>>>>     Metadata:
>>>>       encoder         : Lavc56.60.100 pcm_s24le
>>>>     Stream #0:4: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (LFE), s32, 1152 kb/s
>>>>     Metadata:
>>>>       encoder         : Lavc56.60.100 pcm_s24le
>>>>     Stream #0:5: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (BL), s32, 1152 kb/s
>>>>     Metadata:
>>>>       encoder         : Lavc56.60.100 pcm_s24le
>>>>     Stream #0:6: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (BR), s32, 1152 kb/s
>>>>     Metadata:
>>>>       encoder         : Lavc56.60.100 pcm_s24le
>>>>     Stream #0:7: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (DL), s32, 1152 kb/s
>>>>     Metadata:
>>>>       encoder         : Lavc56.60.100 pcm_s24le
>>>>     Stream #0:8: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (DR), s32, 1152 kb/s
>>>>     Metadata:
>>>>       encoder         : Lavc56.60.100 pcm_s24le
>>>> Stream mapping:
>>>>   Stream #0:1 (pcm_s24le) -> pan (graph 0)
>>>>   Stream #0:1 (pcm_s24le) -> pan (graph 0)
>>>>   Stream #0:1 (pcm_s24le) -> pan (graph 0)
>>>>   Stream #0:1 (pcm_s24le) -> pan (graph 0)
>>>>   Stream #0:1 (pcm_s24le) -> pan (graph 0)
>>>>   Stream #0:1 (pcm_s24le) -> pan (graph 0)
>>>>   Stream #0:1 (pcm_s24le) -> pan (graph 0)
>>>>   Stream #0:1 (pcm_s24le) -> pan (graph 0)
>>>>   Stream #0:0 -> #0:0 (prores (native) -> prores (native))
>>>>   pan (graph 0) -> Stream #0:1 (pcm_s24le)
>>>>   pan (graph 0) -> Stream #0:2 (pcm_s24le)
>>>>   pan (graph 0) -> Stream #0:3 (pcm_s24le)
>>>>   pan (graph 0) -> Stream #0:4 (pcm_s24le)
>>>>   pan (graph 0) -> Stream #0:5 (pcm_s24le)
>>>>   pan (graph 0) -> Stream #0:6 (pcm_s24le)
>>>>   pan (graph 0) -> Stream #0:7 (pcm_s24le)
>>>>   pan (graph 0) -> Stream #0:8 (pcm_s24le)
>>>> Press [q] to stop, [?] for help
>>>> [pcm_s24le @ 0x7fe7d3007c00] not writing 'chan' tag due to lack of channel information
>>>> [pcm_s24le @ 0x7fe7d3010a00] not writing 'chan' tag due to lack of channel information
>>>> frame=  120 fps=7.4 q=-0.0 Lsize=  129110kB time=00:00:05.00 bitrate=211534.5kbits/s
>>>> video:123470kB audio:5625kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.011760%
>>>> 
>>>>                         
>>>> _______________________________________________
>> I had a small command line tool written for this exact purpose, since 
>> we're only talking about metadata it isn't difficult to manipulate after 
>> the fact. Apple has this fairly well documented too. Its a shame FFmpeg 
>> can't handle it directly!
>> 
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 
> Any chance you could share this command line tool, would be very handy?
> Kind regards.              

I'll message you directly about this. 

Thanks!

>             
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user


More information about the ffmpeg-user mailing list