Quais codecs são mais adequados para reprodução no Windows Media Player no Windows XP?


16

Preciso codificar um vídeo curto em um formato que possa ser reproduzido com o Windows Media Player no Windows XP sem instalar nenhum codec adicional. Para o processo de recodificação, estou usando o ffmpeg.

Eu já tentei o msmpeg4v2 codec, mas a qualidade é horrível (em comparação com o vídeo original, você vê grandes "blocos"), então estou procurando outros codecs que funcionem imediatamente e que tenham pelo menos a qualidade "ok".

Como os comentários indicam que pode não ser o codec, mas um problema de taxa de bits, eis o comando que eu usei:

ffmpeg -i x.flv -vcodec msmpeg4v2 -acodec adpcm_ima_wav x.avi

Resultado:

Input #0, flv, from 'x.flv':
  Metadata:
    moovPosition    : 39337765
    avcprofile      : 100
    avclevel        : 30
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
  Duration: 00:06:19.52, start: 0.000000, bitrate: 836 kb/s
    Stream #0:0: Video: h264 (High), yuv420p, 702x396 [SAR 2596:3679 DAR 354:283], 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac, 48000 Hz, stereo, s16
w:702 h:396 pixfmt:yuv420p tb:1/1000000 sar:2596/3679 sws_param:
Output #0, avi, to 'x.avi':
  Metadata:
    moovPosition    : 39337765
    avcprofile      : 100
    avclevel        : 30
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
    ISFT            : Lavf53.32.100
    Stream #0:0: Video: msmpeg4v2 (MP42 / 0x3234504D), yuv420p, 702x396 [SAR 2596:3679 DAR 354:283], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream #0:1: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 48000 Hz, stereo, s16, 384 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> msmpeg4v2)
  Stream #0:1 -> #0:1 (aac -> adpcm_ima_wav)
Press [q] to stop, [?] for help
frame= 9485 fps=436 q=31.0 Lsize=   31197kB time=00:06:19.48 bitrate= 673.5kbits/s
video:12628kB audio:17913kB global headers:0kB muxing overhead 2.149820%

3
Talvez o problema seja sua taxa de bits, não seu codec. O codec preferido para sistemas Windows é, provavelmente, algum tipo de WMV .
Der Hochstapler


Veja minha resposta aqui para obter um link para as Perguntas frequentes oficiais da Microsoft. Mas, essencialmente, você está preso ao Windows Media Video - que o FFmpeg não produzirá. Então, isso ou os que você tentou. Como o @Oliver já disse, tente uma taxa de bits ou configuração de qualidade mais alta. Presumo que apenas use o padrão.
slhck

O benefício do codec MPEG não é o tamanho, mas o fato de não ser um contêiner como um AVI, e é um arquivo baseado em fluxo que pode ser gravado por meio de um codificador de hardware, usado na mídia de DVD para players independentes, e pode ser facilmente editado. Portanto, para esclarecer, o que você está perguntando é um formato de filme que você pode codificar usando o FFMPEG que produzirá um tamanho com o qual você se sinta confortável e funcionará com o Windows Media Player sem downloads adicionais. Corrigir?
Bon Gart

Sim. WMV também está bem. aí eu tenho a mesma qualidade - então talvez haja realmente algo errado com a taxa de bits.
ThiefMaster

Respostas:


12

Como você não especifica mais nada, seu fluxo de vídeo está definido para uso q=2-31, 200 kb/s. Isso resulta em 673.5kbitsmédia, o que não é muito, pelo menos não para codecs não h.264.

Tente forçar

  • uma certa taxa de bits com, -b:v 1000Kpor exemplo. Com versões mais antigas do FFmpeg, você só pode usar -b.
  • um nível de qualidade fixo com, -qscale 2por exemplo. Aqui, o valor pode variar de 1 a 31. Os valores sãos para qscaleestão no intervalo de 2 a 5 ou mais. Apenas tente e veja o que alcança o melhor resultado.

Os codecs que são realmente suportados no Windows por padrão são estes :

Atualmente, existem centenas de codecs de áudio e vídeo em uso. Alguns foram criados pela Microsoft, mas a grande maioria dos codecs foi criada por outras empresas, organizações ou indivíduos. Por padrão, o sistema operacional Windows e o Player incluem vários codecs mais populares, como Windows Media Audio, Windows Media Video e MP3.

Consulte também os tipos de arquivo multimídia suportados pelo Windows Media Player para obter mais informações.

Com o FFmpeg, você pode tentar mpeg1video(MPEG-1) ou mpeg2video(MPEG-2) ou msmpeg4(MPEG-4 Parte II), mas não tenho certeza se o último é universalmente suportado. Se você quiser jogar pelo seguro, é obrigado a usar o MPEG-1 ou MPEG-2.


sim ... isso foi uma taxa de bits bastante baixa para um arquivo mpeg.
Bon Gart

Heh. Devo dizer que somos realmente abençoados com h.264 hoje em dia.
slhck

especialmente considerando que você está olhando de 4k a 5k por 2 horas boas em um DVD (é claro que você pode ir mais alto, mas isso sempre me deixa bom espaço em disco para incluir um arquivo AVI e imagens e coisas assim)
Bon Gart

7

Eu tive um problema semelhante com um arquivo .ac4 aac / h264 que originalmente era bom no Windows Media Player (Windows 7). Depois que editei no VirtualDub e salvei no formato .avi e depois converti para aac / h264 .mp4 usando os padrões ffmpeg, ele não seria mais reproduzido no Windows Media Player.

Usando o MediaInfo para comparar os arquivos originais e finais, notei que um perfil de codificação diferente havia sido usado e configurações diferentes de subamostragem de croma (4: 2: 0, final 4: 4: 4). Recodificando-o com ffmpeg usando a seguinte opção, o WMP conseguiu reproduzir o arquivo corretamente:

ffmpeg  -i edited.avi -pix_fmt yuv420p fixed.mp4

1
Veja trac.ffmpeg.org/wiki/Encode/H.264#Encodingfordumbplayers, que menciona o uso -pix_fmt yuv420pe suporta essa ideia.
Usuário

Acabei de testar isso no Windows 10. Apenas adicionando -pix_fmt yuv420p, consegui abrir o mp4 em aplicativos da Microsoft (tanto o player embutido quanto o Movie Maker).
Nux


0

Como os dois codecs já são suportados pelo contêiner AVI, você pode fazer

ffmpeg -i x.flv -vcodec copy -acodec copy x.avi

assumindo que o seu XP suporta h.264, caso contrário, eu usaria um arquivo wmv, o mesmo quantizador, e deixaria o ffmpeg preencher os codecs. Isso deve fornecer uma qualidade quase idêntica à original:

ffmpeg -i x.flv -sameq x.wmv

2
Eu de alguma forma dúvida simples suportes XP h.264
ThiefMaster

2
-sameqnão deve ser usado para converter formatos que não compartilham uma escala quantizante semelhante. Esta opção não significa "mesma qualidade" que a documentação usada para implicar. Além disso, o H.264 no AVI não é recomendado (embora o H.264 sem perdas [sem quadros b] deva ser bom).
llogan
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.