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%
ffmpeg
saí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 .Respostas:
Você pode tentar
ffmpeg -i Feature.mov -map 0:7 -c copy Left_Total.wav
ver 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.
fonte
ffmpeg -i Feature.mov -map 0:7 -c:a libmp3lame -b:a 192k output.mp3
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:
Com o arquivo Quicktime Track 7 marcado como Esquerda Direita, obtenho o seguinte do ffmpeg:
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.
fonte