Remove fluxo de áudio de arquivos XVID

3

Eu tenho um monte de arquivos Xvid que cada um tem um fluxo de áudio que eu não quero. Como posso tirar a faixa de áudio que não quero usando a linha de comando do Linux?

Eu não preciso do script inteiro (loop), apenas qual comando eu usaria para processar cada arquivo avi individualmente (a menos que o próprio cmd tenha uma modificação em lote integrada).

Eu não acredito que o arquivo esteja em um contêiner mkv, pois mkvinfo não encontra nada. Aqui faz parte da saída do mplayer (thanks ~ quack):

[aviheader] Video stream found, -vid 0
ID_AUDIO_ID=1
[aviheader] Audio stream found, -aid 1
ID_AUDIO_ID=2
[aviheader] Audio stream found, -aid 2
VIDEO:  [XVID]  512x384  12bpp  25.000 fps  1013.4 kbps (123.7 kbyte/s)
    
por Kyle Brandt 16.10.2009 / 13:23

3 respostas

3

Francamente, acho que você preferirá usar a solução ffmpeg . Mas achei que o mencoder ( mplayer 's encoder) poderia fazer isso também ... e pode, mas apenas como um efeito colateral - já que é construído sobre um player, ele só pode processar um fluxo de áudio de cada vez. Se você estivesse revertendo o processo (adicionando um segundo fluxo de áudio a um arquivo que tivesse apenas um), você precisaria de uma ferramenta diferente.

A opção -aid X seleciona o fluxo de áudio (substitua X pelo número de ID do fluxo). Parece que a saída mplayer que você citou mostra os números de ID corretos, portanto, tente usá-los. Isso mantém o primeiro fluxo de áudio (use -aid 2 se você quiser o segundo):

$ mencoder orig.avi -o new.avi -oac copy -ovc copy -aid 1

Outras ferramentas AVI de linha de comando que podem ajudar são:

  • avidemux (você pode criar scripts com -nogui )
  • transcode
por 16.10.2009 / 16:26
5

Usando o ffmpeg , você pode fazer o seguinte

ffmpeg -i input -map 0:0 -map 0:1 -vcodec copy -acodec copy output

Isso deve fazer um novo filme com vídeo e primeiro fluxo de áudio. Para usar o segundo fluxo de áudio, altere -map 0: 1 para -map 0: 2. Com cópia para ambos -vcodec e -acodec, você copia fluxos sem reencodar.

    
por 16.10.2009 / 15:36
0

Se você tiver uma máquina com Windows. Use o virtualdubmod , selecione a lista de transmissões stream & > e desative o fluxo de áudio e adicione sua trilha de áudio personalizada, selecione vídeo- > copiar fluxo direto e último arquivo- > salvar como avi. Você pode preparar um editor de áudio como o Audacity.

Para Linux:

ffmpeg (tem opção de linha de comando)

Avidemux

Cinelerra

dvd :: rip

    
por 16.10.2009 / 13:45