exportação de áudio multicanal ffmpeg O estéreo não será reproduzido

0

Estou tentando exportar todos os canais de áudio de um arquivo quicktime multicanal com ffmpeg que possui a seguinte configuração de áudio, mas não tenho certeza se o comando abaixo está correto. Todos os arquivos parecem corretos e reproduzidos corretamente no Quicktime player, exceto o L + R_Total.wav, que se recusa a jogar no Quicktime player ou no Final Cut, mas reproduz bem no VLC, por isso tenho certeza de que meu comando ffmpeg não está correto para o estéreo na faixa 7 O arquivo estéreo tem cerca de 1,8 GB de tamanho. Aqui está o meu layout de faixa no arquivo Quicktime:

Track 1 - mono
Track 2 - mono
Track 3 - mono
Track 4 - mono
Track 5 - mono
Track 6 - mono
Track 7 - stereo

Estou usando:

/Users/me/Desktop/python/ffmpeg/ffmpeg -i /Users/me/Desktop/test.mov -acodec pcm_s24le -map 0:1 -y Left.wav -acodec pcm_s24le -map 0:2 Right.wav -acodec pcm_s24le -map 0:3 Center.wav -acodec pcm_s24le -map 0:4 LFE.wav -acodec pcm_s24le -map 0:5 Left_Surround.wav -acodec pcm_s24le -map 0:6 Right_Surround.wav -acodec pcm_s24le -map 0:7 Left+Right_Total.wav

Aqui está a impressão do terminal:

    MacBook-Pro:~ me$ /Users/me/Desktop/python/ffmpeg/ffmpeg -i /Users/me/Desktop/test.mov -acodec pcm_s24le -map 0:1 -y Left.wav -acodec pcm_s24le -map 0:2 Right.wav -acodec pcm_s24le -map 0:3 Center.wav -acodec pcm_s24le -map 0:4 LFE.wav -acodec pcm_s24le -map 0:5 Left_Surround.wav -acodec pcm_s24le -map 0:6 Right_Surround.wav -acodec pcm_s24le -map 0:7 Left+Right_Total.wav
ffmpeg version 2.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Mar 25 2014 15:00:55 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
  configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --arch=x86_64 --enable-runtime-cpudetect
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/me/Desktop/test.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2014-03-06 11:25:34
  Duration: 00:01:03.48, start: 0.000000, bitrate: 153967 kb/s
    Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le, 1920x1080, 144704 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
      timecode        : 00:00:00:00
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (FL), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
    Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (FR), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
    Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
    Stream #0:4(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (LFE), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
    Stream #0:5(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (BL), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
    Stream #0:6(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 1 channels (BR), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
    Stream #0:7(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, downmix, s32, 2304 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
    Stream #0:8(eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2014-03-06 11:26:04
      handler_name    : Apple Alias Data Handler
      timecode        : 00:00:00:00
Output #0, wav, to 'Left.wav':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    ISFT            : Lavf55.33.100
    Stream #0:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (FL), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
Output #1, wav, to 'Right.wav':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    ISFT            : Lavf55.33.100
    Stream #1:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (FR), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
Output #2, wav, to 'Center.wav':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    ISFT            : Lavf55.33.100
    Stream #2:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, mono, s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
Output #3, wav, to 'LFE.wav':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    ISFT            : Lavf55.33.100
    Stream #3:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (LFE), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
Output #4, wav, to 'Left_Surround.wav':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    ISFT            : Lavf55.33.100
    Stream #4:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (BL), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
Output #5, wav, to 'Right_Surround.wav':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    ISFT            : Lavf55.33.100
    Stream #5:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 1 channels (BR), s32, 1152 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
Output #6, wav, to 'Left+Right_Total.wav':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    ISFT            : Lavf55.33.100
    Stream #6:0(eng): Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, downmix, s32, 2304 kb/s (default)
    Metadata:
      creation_time   : 2014-03-06 11:25:34
      handler_name    : Apple Alias Data Handler
Stream mapping:
  Stream #0:1 -> #0:0 (pcm_s24le -> pcm_s24le)
  Stream #0:2 -> #1:0 (pcm_s24le -> pcm_s24le)
  Stream #0:3 -> #2:0 (pcm_s24le -> pcm_s24le)
  Stream #0:4 -> #3:0 (pcm_s24le -> pcm_s24le)
  Stream #0:5 -> #4:0 (pcm_s24le -> pcm_s24le)
  Stream #0:6 -> #5:0 (pcm_s24le -> pcm_s24le)
  Stream #0:7 -> #6:0 (pcm_s24le -> pcm_s24le)
Press [q] to stop, [?] for help
size=    8927kB time=00:01:03.48 bitrate=1152.0kbits/s    
video:0kB audio:71415kB subtitle:0 data:0 global headers:0kB muxing overhead -87.499863%
speedyrazor
fonte
Você leu isso? Você está em
Infelizmente não. Quero exportar arquivos wav individuais do meu quicktime mov, 6 wav mono e 1 wav estéreo.
speedyrazor
Ah ok, veja minha resposta então.
11
Por favor inclua a ffmpegsaída completa do console. Sua pergunta é offtopic para Stack Overflow . Não parece ser sobre programação dentro do escopo definido na Central de Ajuda . Sua pergunta pode ser votada / sinalizada para a migração para Superusuário .
llogan
desculpe pelo fórum errado, eu atualizei o post.
speedyrazor

Respostas:

0

Você pode tentar ffmpeg -i Feature.mov -map 0:7 -c copy Left_Total.wavver se isso funciona?

Precisamos garantir que os dados dentro do fluxo estéreo possam ser usados ​​pelo ffmpeg. Os arquivos do Quicktime podem conter informações proprietárias de contêiner / codec que o ffmpeg não pode ler.

Florestan06
fonte
Isso gera um erro: a codificação do fluxo de dados ainda não é suportada (apenas a cópia de fluxo), caso seja 0: 7. Mudar para 0: 7 me dá um arquivo, mas ele não é reproduzido. Esta foi a saída, Stream # 0: 0 (por): Áudio: pcm_s24le ([1] [0] [0] [0] / 0x0001), 48000 Hz, downmix, 2304 kb / s (padrão)
speedyrazor
Sim, desculpe, a faixa correta é 0: 7. Fiquei confuso com o número da faixa. Você pode reproduzir esta faixa estéreo no mov original do contêiner? O que você está usando para reproduzi-lo? Você pode tentar ...ffmpeg -i Feature.mov -map 0:7 -c:a libmp3lame -b:a 192k output.mp3
Atualizado a pergunta.
speedyrazor
Então, executando o ffmpeg -i Feature.mov -map 0: 7 -c copy O Left_Total.wav produz um arquivo que não será reproduzido no quicktime player ou no Final cut, mas será reproduzido no VLC, portanto, há algo errado com o ffmpeg se criando o arquivo
speedyrazor
0

OK, encontrei o problema. No arquivo Quicktime, todas as faixas de áudio são nomeadas e marcadas como Esquerda, Direita, Centro, LFE, Surround esquerdo, Surround direito, Total esquerdo, Total direito. O ffmpeg não gosta do fato de que a faixa 7 é sinalizada como Total esquerda Total direita, quando esse é o caso, produz um arquivo que não será reproduzido. Se eu sinalizar novamente a faixa 7 para a esquerda e direita no Quicktime Pro e salvar o arquivo, o ffmpeg será executado e o arquivo será reproduzido corretamente. Existe alguma maneira de contornar isso, não quero re-sinalizar manualmente a faixa 7 toda vez antes de executar o script ffmpeg.

Com o arquivo Quicktime, a faixa 7 sinalizada como Total Esquerda Total Total obtém o seguinte do ffmpeg:

Metadata:
  creation_time   : 2014-03-06 11:25:34
  handler_name    : Apple Alias Data Handler
Stream #0:7(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, downmix, s32, 2304 kb/s (default)

Com o arquivo Quicktime Track 7 marcado como Esquerda Direita, obtenho o seguinte do ffmpeg:

Metadata:
  creation_time   : 2014-03-06 11:25:34
  handler_name    : Apple Alias Data Handler
Stream #0:7(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32, 2304 kb/s (default)

UPDATE: Mais informações coletadas. Decidi reverter a versão do ffmpeg por versão para ver se fazia alguma diferença. A identificação do problema com o ffmpeg transmitindo corretamente os nomes / atribuições da faixa a partir do quicktime; portanto, se a faixa for atribuída como Left Surround, ela será transferida para o arquivo wav criado pelo ffmpeg. A versão ffmpeg-1.1.3 funciona e exporta wavs estéreo corretos, mas todas as faixas mono exportadas atribui-lhes 'Center'. Portanto, as versões ffmpeg depois atribuem os nomes corretamente, mas não funcionarão com Total Esquerdo Total Total, isso parece quebrá-lo, mas apenas ao exportar para 24 bits! 16 bits funciona bem em todas as versões.

Portanto, em conclusão ........ o ffmpeg não exportará áudio estéreo de 24 bits a partir de um momento rápido se a faixa estiver atribuída Total Esquerdo Total Total.

speedyrazor
fonte