Como converter WMV para MP4?


Respostas:


49

Você pode usar o FFmpeg (uma ferramenta de linha de comando gratuita para Mac, Linux e Windows) para codificar WMV para MP4. Aqui está um exemplo de sintaxe:

ffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4

Isso codificará o vídeo em vídeo H.264 e áudio AAC, usando a qualidade padrão. Para alterar a qualidade do vídeo, use um valor CRF diferente, onde menor significa melhor, por exemplo, 20 ou 18. Para o áudio, 100% é a qualidade padrão. Aumente o valor para obter melhor qualidade.

Para a AppleTV especificamente, é isso que a Apple diz que suporta:

Vídeo H.264 de até 1080p, 30 quadros por segundo, Perfil alto ou principal nível 4.0 ou inferior, Perfil de linha de base nível 3.0 ou inferior com áudio AAC-LC de até 160 kbit / s por canal, 48 kHz, áudio estéreo em .m4v Formatos de arquivo .mp4 e .mov

Portanto, você pode usar o seguinte comando para forçar a taxa de quadros de 30 Hz e o perfil alto :

ffmpeg -i input.wmv -c:v libx264 -crf 23 -profile:v high -r 30 -c:a libfaac -q:a 100 -ar 48000 output.mp4

10
Eu apenas tentei usar esta solução no Fedora 19 e corri para o erro: Codificador desconhecido 'libaac' Parece que após um certo lançamento, o ffmpeg não inclui distribuições binárias com suporte ao libfaac, portanto, você precisa construir a partir do código-fonte. Em vez disso, mudei 'libfaac' para 'aac' e adicionei os sinalizadores '-strict -2' e a conversão funcionou com êxito.
roartechs

4
Opção não reconhecida 'c: v' Falha ao definir o valor 'libx264' para a opção 'c: v'
e-info128

5
eu tinha as mesmas questões exatas como roartechs e resolveu-los usandoffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a aac -strict -2 -q:a 100 output.mp4
Jeremy Tammik

aviso, na maioria dos casos, 23 é significativamente diferente de 20, enquanto 22 é quase imperceptível e 18 é difícil identificar diferenças do original.
Dmitry

18

HandBrake . Multiplataforma e grátis.

O HandBrake é um transcodificador de vídeo de código aberto, licenciado pela GPL, multiplataforma e multithread, disponível para MacOS X, Linux e Windows.

Fontes suportadas:

  • Arquivos multimídia mais comuns suportados por libavformat e libavcodec.

  • Qualquer fonte de DVD ou Bluray que NÃO esteja protegida contra cópia. (a remoção da proteção contra cópia não é suportada)

Saídas:

  • Formato de arquivo: MP4 (M4V) e MKV

  • Vídeo: H.264 (x264), MPEG-4 (ffmpeg), MPEG-2 (ffmpeg) ou Theora (libtheora)

  • Áudio: AAC, CoreAudio AAC / HE-AAC (somente OS X), MP3, Flac, AC3 ou Vorbis. Passagem AC-3, DTS, DTS-HD, AAC e MP3.

2
O HandBrake não funcionou. Eu recebi um erro que diz "Nenhum título (s) encontrado (s). Verifique se você selecionou uma fonte válida e não protegida contra cópia. Sua fonte pode estar protegida contra cópia, mal dominada ou um formato que o Handbrake não suporta." e não acho que o HandBrake suporte wmv.
burnt1ce

7
Desculpe por ouvir. Foi aprovado no teste "Funciona na minha máquina" :-(.

Trabalhou para mim com o Handbrake 0.9.4.
Sebastian

@RandolphWest Qual é a sua máquina, se funcionou?
bwerks

@ burnt1ce Depois de obter o mesmo erro, consegui converter uma wmv do GoToMeeting usando o Handbrake somente após a primeira transcodificação com o g2mtranscoder.exe da Citrix e, em seguida, usando o Handbrake 0.9.8.
bwerks

4

Se você estiver tentando converter arquivos WMV criados pelo GoToMeeting (também conhecido como Go2Meeting para fins de SEO ), todas as soluções acima provavelmente falharão porque o vídeo é codificado usando um codec g2m4 específico para citrix que fará com que os transcodificadores se engasgem.

Encontrei esta página que orienta a transcodificação de g2m para WMV normal usando o g2mtranscoder.exe fornecido pelo gotomeeting, que transcodificará seu vídeo no local para que você possa transcodificá-lo para o formato escolhido usando ferramentas regulares (como as outras respostas neste fio).


Você tem certeza de que o FFmpeg não executa codecs do GoToMeeting? Ele está listado ffmpeg -codec, no entanto, sem Dsinalizador, então não sei se é totalmente suportado.
Slhck 28/12/12

@slhck Tentei o FFmpeg sozinho como primeiro passo e, embora identificasse o codec de vídeo como Video: g2m (G2M4 / 0x344D3247), resultou no erro 'Não é possível analisar o valor da opção "-1" como formato de pixel " . Após a transcodificação no local com o g2mtranscoder, fui capaz de transcodificar normalmente com o freio de mão. Eu pretendo tentar fazê-lo funcionar com o FFmpeg, para que eu possa automatizar completamente esse processo.
bwerks

2
./ffmpeg -y -i input.wmv -vcodec libx264 -acodec libfaac -ab 128k -ac 2 -b 300 -threads 4 -flags +loop -cmp +chroma -partitions 0 -subq 1 -trellis 0 -refs 1 -coder 0 -bufsize 10M  -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 output.mp4

Não sei o que significam todas as opções / sinalizações, mas isso pareceu funcionar e obteve um arquivo MP4 com streamable em Flash, mas o vídeo não era de alta qualidade.

As bibliotecas de codecs que eu instalei são libx264 e libfaac para codecs de vídeo e áudio H.264 e AAC .


2

www.media-convert.com é um serviço gratuito baseado na Web que converte todos os tipos de formatos de áudio e vídeo. Não há necessidade de instalar nenhum software. Ignore as inclusões e selecione o tipo de arquivo nos menus suspensos.


1
Muito interessante, no entanto, não produz vídeo com qualidade 720p +. A resolução máxima para mp4 é 640x480. Mas +1 com certeza.
burnt1ce

1

MediaCoder deve fazer o trabalho muito bem!

O MediaCoder é um transcodificador de mídia universal gratuito desde 2005. Ele integra os codecs e ferramentas de áudio / vídeo mais populares de maneira elegante e transparente a uma solução de transcodificação completa. Com uma arquitetura flexível e extensível, os codecs e ferramentas mais recentes são atualizados constantemente. O MediaCoder pretende ser o canivete suíço para transcodificação de mídia em todos os tempos.


Legal, estou baixando agora.
burnt1ce



0

Não consegui instalar o FFmpeg no Ubuntu Server 14.10 (Utopic Unicorn), então usei o HandBrake. Após a instalação, usei um script de thanhsiang.org/faqing :

  1. Crie um arquivo .sh, por exemplo, convert.sh
  2. chmod +x convert.sh
  3. Configurar diretórios SRC e DEST, + DEST_EXT
  4. ./convert.sh

Arquivo convert.sh

#!/bin/bash

# This script is to convert automatically a folder of video files to MP4.
# You need to change SRC -- Sourse folder and DEST -- Destination folder
# The MP4 format is 480x270.

SRC=/home/video/
DEST=/home/www/mp4files/
DEST_EXT=mp4
HANDBRAKE_CLI=HandBrakeCLI

for FILE in `ls $SRC`
do
        filename=$(basename $FILE)
        extension=${filename##*.}
        filename=${filename%.*}

        $HANDBRAKE_CLI -i $SRC/$FILE -o $DEST/$filename.$DEST_EXT -e x264 -q 22 -r 12 -B 64 -X 480 -O
done

Foi a solução mais rápida para mim.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.