ffmpeg - chỉ định cờ bố cục kênh


7

Tôi có tệp bên dưới mà tôi đang ánh xạ lại âm thanh và cố gắng đặt cờ bố cục kênh trên tệp Quicktime Prores, nhưng dường như không thể làm cho nó hoạt động được. Tôi có thể ánh xạ lại thành công âm thanh (từ 8 rời rạc thành 6 âm thanh + âm thanh nổi) nhưng dường như tôi không thể đặt cờ bố cục kênh cho 6 âm thanh đơn và âm thanh nổi, tất cả các âm thanh đều xuất hiện dưới dạng 'Mono' thay vì Front Left , Front Right, v.v. Tôi muốn bố trí kênh sau:

Video
Mono - FL
Mono - FR
Mono - FC
Mono - LFE
Mono - BL
Mono - BR
Stereo - DL+DR

Làm cách nào để đặt bố cục kênh này để các kênh âm thanh được gắn cờ chính xác?

Đây là đầu ra ffmpeg của tệp:

ffmpeg -i /Users/kev/Movies/Test_descrete.mov -ss 20 -to 25 -filter_complex \
> "[0:1]pan=1c|c0=c0[FL]; \
>  [0:1]pan=1c|c0=c1[FR]; \
>  [0:1]pan=1c|c0=c2[FC]; \
>  [0:1]pan=1c|c0=c3[LFE]; \
>  [0:1]pan=1c|c0=c4[BL]; \
>  [0:1]pan=1c|c0=c5[BR]; \
>  [0:1]pan=2c|c0=c6|c1=c7[stereo]" \
> -map v:0 \
> -map "[FL]" \
> -map "[FR]" \
> -map "[FC]" \
> -map "[LFE]" \
> -map "[BL]" \
> -map "[BR]" \
> -map "[stereo]" \
> -vcodec prores -profile:v 3 -vtag apcn -f mov -y -c:a pcm_s24le /Users/kev/Movies/Test_Movie_Out2.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 '/Users/kev/Movies/Test_descrete.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2015-10-17 18:55:33
  Duration: 00:01:58.04, start: 0.000000, bitrate: 170075 kb/s
    Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le, 1920x1080, 160844 kb/s, 24 fps, 24 tbr, 24 tbn, 24 tbc (default)
    Metadata:
      creation_time   : 2015-10-17 18:55:33
      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-17 19:13:26
      handler_name    : Apple Alias Data Handler
[Parsed_pan_6 @ 0x7f91bbd05f80] Pure channel mapping detected: 6 7
[Parsed_pan_5 @ 0x7f91bbd05d20] Pure channel mapping detected: 5
[Parsed_pan_4 @ 0x7f91bbd05a20] Pure channel mapping detected: 4
[Parsed_pan_3 @ 0x7f91bbd05720] Pure channel mapping detected: 3
[Parsed_pan_2 @ 0x7f91bbd053e0] Pure channel mapping detected: 2
[Parsed_pan_1 @ 0x7f91bbd05060] Pure channel mapping detected: 1
[Parsed_pan_0 @ 0x7f91bbd04d60] Pure channel mapping detected: 0
Output #0, mov, to '/Users/kev/Movies/Test_Movie_Out2.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-17 18:55:33
      handler_name    : Apple Alias Data Handler
      encoder         : Lavc56.60.100 prores
    Stream #0:1: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s (default)
    Metadata:
      encoder         : Lavc56.60.100 pcm_s24le
    Stream #0:2: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, 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, mono, s32, 1152 kb/s
    Metadata:
      encoder         : Lavc56.60.100 pcm_s24le
    Stream #0:5: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      encoder         : Lavc56.60.100 pcm_s24le
    Stream #0:6: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s
    Metadata:
      encoder         : Lavc56.60.100 pcm_s24le
    Stream #0:7: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32, 2304 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: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)
Press [q] to stop, [?] for help
frame=    9 fps=1.6 q=-0.0 size=    4462kB time=00:00:00.50 bitrate=73099.2kbitsframe=   21 fps=3.4 q=-0.0 size=   16380kB time=00:00:01.00 bitrate=134183.6kbitframe=   35 fps=5.2 q=-0.0 size=   28001kB time=00:00:01.52 bitrate=150775.9kbitframe=   46 fps=6.4 q=-0.0 size=   38857kB time=00:00:02.00 bitrate=159158.1kbitframe=   57 fps=7.4 q=-0.0 size=   50044kB time=00:00:02.50 bitrate=163983.6kbitframe=   69 fps=8.3 q=-0.0 size=   62437kB time=00:00:03.00 bitrate=170495.5kbitframe=   80 fps=9.1 q=-0.0 size=   73925kB time=00:00:03.50 bitrate=173027.6kbitframe=   91 fps=9.8 q=-0.0 size=   85376kB time=00:00:04.00 bitrate=174850.3kbitframe=  103 fps= 10 q=-0.0 size=   97897kB time=00:00:04.50 bitrate=178216.6kbitframe=  114 fps= 11 q=-0.0 size=  109345kB time=00:00:05.00 bitrate=179151.2kbitframe=  120 fps= 11 q=-0.0 Lsize=  119787kB time=00:00:05.00 bitrate=196258.7kbits/s    
video:114148kB audio:5625kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.011179%

Câu trả lời:


1

Tôi đã tìm thấy một phần câu trả lời, mặc dù kênh Center, Total Total và Right Total không xuất hiện trong tệp, cả 3 đều xuất hiện dưới dạng Mono. Có vẻ như Center là một tính năng của ffmpeg, tôi nghĩ Center và Mono giống nhau, vì vậy ffmpeg chỉ để lại nó với Mono. Lý tưởng nhất là tôi đang tìm kiếm một tệp vá ffmpeg, để áp dụng trước khi xây dựng, nó sẽ cho tôi kết quả cần thiết.

Kết quả hiện được đưa ra là:

Video
Front Left
Front Right
Mono (should be Center)
Left Surround
Right Surround
Mono (should be Left Total)
Mono (shold be Right Total)

Đây là lệnh:

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

Dưới đây là đầu ra ffmpeg từ đó.

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%
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.