Gostaria de extrair fluxos de arquivos de vídeo WebM sem convertê-los (re-compressão). Alguém pode recomendar algum software que permita isso?
Gostaria de extrair fluxos de arquivos de vídeo WebM sem convertê-los (re-compressão). Alguém pode recomendar algum software que permita isso?
Respostas:
Como o WebM é um subconjunto Matroska, o mkvtoolnix deve permitir desmuxar os arquivos. É de código aberto, multiplataforma e o autor fornece binários para Windows.
Para extrair o áudio de um arquivo WebM, usando a ferramenta ffmpeg ( https://www.ffmpeg.org/download.html ):
ffmpeg -i "input.webm" -vn -acodec copy "output.oga"
Explicação:
"-i input.webm" designa o arquivo de entrada
"-vn" remove o fluxo de vídeo da saída
"-acodec copy" diz ao ffmpeg para copiar o fluxo de áudio como está (sem nova compressão)
"output.oga" designa o arquivo de saída.
NB: Use aspas "" em torno de nomes de arquivos que contêm espaços.
A extensão do arquivo de saída deve corresponder ao formato do fluxo de áudio contido no arquivo webm de origem.
Eu uso ".oga" como extensão de arquivo de saída, porque a maioria dos arquivos webm que eu mantenho contém áudio Vorbis.
".oga" é a extensão preferida nesse caso, mesmo que .ogg ainda seja uma extensão freqüentemente encontrada para arquivos somente de áudio vorbis.
Esta linha de comando baseada em ffmpeg deve fornecer o formato de áudio do arquivo de origem:
ffmpeg -i "inputfile.ext"
Procure a linha que contém o texto "Áudio", geralmente próximo ao final da saída do comando.
No meu caso, esta é a saída:
Stream #0:1: Audio: vorbis, 44100 Hz, stereo, fltp (default)
A leitura desta página da Wikipedia pode fornecer algumas dicas sobre quais extensões de arquivo devem ser usadas com quais formatos de áudio: http://en.wikipedia.org/wiki/Audio_file_format
Os arquivos de vídeo têm um formato de contêiner e formatos de codec.
É difícil 'extrair' os bits de vídeo com facilidade, mas é possível alterar o formato do contêiner para algo que você possa consumir sem alterar os bits de vídeo:
ffmpeg usando -vcodec copy
(e normalmente -an
para retirar qualquer áudio)
Com as ferramentas MKVToolNix - Matroska para Linux / Unix e Windows :
mkvextract.exe "file.webm" tracks 0:"file_audio.ogg"
( supondo que o ID da faixa de áudio seja 0 - você pode verificar com mkvinfo.exe
ou mkvtoolnix-gui.exe
)