Gostaria de alterar o codec de áudio, mas manter as configurações de vídeo com ffmpeg

16

Eu tenho um vídeo para o qual eu gostaria de converter o codec de áudio para AAC 320 kbps / 44,100 kHz. O que eu usaria para switches ffmpeg, de modo que todas as configurações de vídeo e codec permanecessem iguais, mas apenas o codec de áudio e as configurações mudariam?

Aqui está o meu vídeo:

$ ffmpeg -i Winnipeg.rb\ Scala-Talk.mov 
FFmpeg version SVN-r25375, Copyright (c) 2000-2010 the FFmpeg developers
  built on Oct  6 2010 13:02:41 with gcc 4.2.1 (Apple Inc. build 5664)
  configuration: --enable-libmp3lame --enable-shared --disable-mmx --arch=x86_64
  libavutil     50.32. 2 / 50.32. 2
  libavcore      0. 9. 1 /  0. 9. 1
  libavcodec    52.92. 0 / 52.92. 0
  libavformat   52.80. 0 / 52.80. 0
  libavdevice   52. 2. 2 / 52. 2. 2
  libavfilter    1.48. 0 /  1.48. 0
  libswscale     0.12. 0 /  0.12. 0

Seems stream 0 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 10.00 (10/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Winnipeg.rb Scala-Talk.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
  Duration: 01:10:53.00, start: 0.000000, bitrate: 283 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 800x598, 94 kb/s, 10 fps, 10 tbr, 1k tbn, 2k tbc
    Stream #0.1(eng): Audio: adpcm_ima_qt, 22050 Hz, 1 channels, s16
    Stream #0.2(eng): Audio: adpcm_ima_qt, 22050 Hz, 1 channels, s16
At least one output file must be specified

Muito obrigado antecipadamente! Uma coisa com o ffmpeg que eu nunca consegui entender é como apenas "beliscar" arquivos sem ter que regurgitar cada pequena configuração para coisas que você não quer mudar.

    
por Craig Tataryn 26.11.2010 / 21:40

4 respostas

18

Uma agregação da resposta de Ehsan com o comentário de fletom que funciona para mim, graças a ambos.

ffmpeg -i input.avi -acodec mp3 -vcodec copy out.avi

    
por 29.05.2016 / 20:26
7

É difícil julgar o que você está fazendo, já que o comando ffmpeg estava um pouco confuso no seu post.

Para substituir uma faixa de áudio:

ffmpeg -i test.avi -i normalized.mp3 -map 0:0 -map 1:0 -vcodec copy -acodec copy new_test.avi

Mais informações sobre os parâmetros acima podem ser encontradas em: Documentação do FFmpeg .

    
por 26.11.2010 / 21:57
5

Se você quiser apenas alterar o (s) codec (s) de áudio e / ou vídeo, basta adicioná-los como parâmetros:

Basta alterar o codec de áudio para mp3 (o que quer que seja o codec original)

ffmpeg -i input.avi -acodec mp3 out.avi

Basta alterar o codec de vídeo para h264

ffmpeg -i input.avi -vcodec h264 out.avi

É bom notar que o ffmpeg deve suportar a codificação do novo codec. Consulte o link

    
por 04.04.2015 / 17:55
-1

Por que você não usa o Handbrake, que permite manter o vídeo e alterar o áudio e é uma GUI para o FFmpeg e funciona como um encanto?

    
por 01.01.2011 / 04:27

Tags