Como obtenho vídeo HTML5 h.264 funcionando no Firefox?


27

De acordo com as notas de versão do Firefox 26 , o vídeo h.264 agora deve estar funcionando no Linux. Ele também diz que os plug-ins adequados do gstreamer precisam ser instalados. alguém sabe o que são essas coisas?

Usei este site de teste e a página HTML5 do YouTube para verificar se o suporte ao h.264 funciona no Google Chrome no meu Ubuntu 12.04 de 64 bits, mas não no Firefox 26.


Eu tenho o gstreamer0.10-plugins-good já instalado. Vou tentar instalar gstreamer0.10-plugins-bad e gstreamer0.10-plugins-ugly
HarlemSquirrel

Observe que esse recurso está presente no Firefox desde a versão 24. A única coisa que foi alterada em 26 e agora é ativada por padrão, anteriormente era necessário definir media.gstreamer.enabledcomo true about:config.
Falconer

Eu não tenho isso no about:config@falconer - e eu tenho o Firefox 25 E qualquer coisa que comece com gstreamer :-(
Wilf

1
@ Wilf Isso é interessante. Para mim, funciona sem problemas. Mas enquanto eu lia no google, ele precisava ser ativado no momento da compilação, e, por exemplo, o Fedora não permitia isso em suas compilações. Você está usando compilações FF do repositório oficial do ubuntu?
Falconer

Embora isso definitivamente não seja uma resposta à pergunta originalmente feita, ainda acho que vale a pena mencionar: o vídeo HTML5, embora ideologicamente melhor, pode resultar em um desempenho absolutamente terrível. Ao usar o youtube com o player HTML5, vejo consistentemente a CPU atingir 100%, não importa qual máquina eu use, e a gagueira é frequente. Isso indica que há muita decodificação de software em andamento. Ao usar o Adobe Flash Player com aceleração HW [1], estou obtendo o consumo esperado de 10 a 20% da CPU durante a reprodução de vídeo. Se um Core i7 com 12GBs de RAM não pode jogar de forma confiável volta HTML5 vide
Jostein Kjønigsen

Respostas:


30

Para 12.04 / 14.04 / 18.10

Acabei de visitar o teste do Youtube em HTML5 e tenho o H.264 verificado; você provavelmente precisará instalar extras restritos do Ubuntu para obter os codecs gstreamer.

sudo apt-get install ubuntu-restricted-extras

Pode ser necessário reiniciar.

insira a descrição da imagem aqui


2
Isso fez o truque! Tão simples! Eu pensei que já tinha instalado isso ... bobo eu. O pacote ubuntu- flashplugin-installer gstreamer0.10-ffmpeg gstreamer0.10-fluendo-mp3 gstreamer0.10-plugins-bad-multiverse libfaac0 libmjpegtools-1.9 libnspr4-0d libnss3-1d liboil0.3 ubuntu-restricted-addons
strict

O mesmo vale para 14.04
Rael Gugelmin Cunha

1
Trabalhou em 16.04 também!
Rael Gugelmin Cunha 25/03

Confirmado que isso funciona para 16.04 também. Observe que se você instalou o Firefox de 32 bits (incomum), DEVE instalar a versão i386 da biblioteca gstreamer (o Firefox de 32 bits não pode usar a biblioteca de 64 bits): sudo apt-get install libavformat-ffmpeg56:i386 libavfilter-ffmpeg5:i386 gstreamer1.0-libav:i386
Nate Lampton

Como obtê-lo sem instalar o flash?
Gringo Suave

14

Para 14.04

As soluções acima não estão mais funcionando com o Trusty Tahr 14.04. A razão para isso é que o pacote gstreamer0.10-ffmpeg foi substituído pelo gstreamer1.0-libav, mas o Firefox planeja oferecer suporte ao gstreamer 1.0 somente na versão 30.

Enquanto isso, você pode instalar o gstreamer0.10-ffmpeg da saucy para sua arquitetura apropriada aqui:


4
O link agora leva a um 404
Delapouite

Geoffrey: Você pode adicionar fontes para fazer backup de sua alegação de que "o Firefox está planejando oferecer suporte ao gstreamer 1.0 somente na versão 30". Não que eu duvide de você, mas apontar para uma fonte autorizada será útil para aqueles que desejam entender esse problema.
Stefan Lasiewski

@Delapouite Olá, tente usar este ppa: launchpad.net/~jon-severinsson/+archive/ffmpeg para baixar o ffmpeg para 14.04
Akronix

2
O Firefox 30 está agora em um tópico sugerido e suporta .h264 através do gstreamer1.0-libavpacote. Em algum momento, ele deve aparecer na versão 14.04, embora atualmente eu use o pacote utopic-proposto na 14.04 sem problemas. O 0,10-ffmpeg plugin irá permanecer em ppa para aplicativos que ainda não foram portados para GST-1.0
Doug

1
Firefox> 35 obras com h264 sem quaisquer ppa extra no ubuntu 14.04 Para Vídeo instalar gstreamer1.0-libav para áudio instalar gstreamer1.0-Fluendo-mp3
Mariuz

9

Firefox 33 e além

A Mozilla adicionou suporte ao OpenH264 como um plug-in no Firefox 33 . Para ativar esse plug-in, o Firefox agora fará o download automático de um binário do site OpenH264 na primeira vez em que você iniciar o programa.

Isso parece ótimo, não é? Espere ... isso foi um trocadilho.

Embora essa seja realmente uma solução muito conveniente, ela também deve suscitar preocupações de privacidade e segurança quando o software baixa automaticamente binários de sites afiliados à Cisco Systems ou outras empresas, não importa quão transparente seja o processo e o contrato de licença.

Não está diretamente relacionado, mas se você preferir excluir automaticamente os cookies quando o Firefox for fechado e não conseguir encontrar o cookie certo para a reprodução persistente de HTML5, sugiro instalar o YouTube ALL HTML5 .

Testes com VMs 14.04.2 e 15.04

Meu palpite era que apenas a instalação de um binário decodificador H.264 não seria suficiente, então configurei duas novas máquinas virtuais:

  • Ubuntu 14.04.2 com addons restritos instalados durante a instalação
  • Ubuntu 15.04 sem addons restritos instalados durante a instalação

Após a instalação das duas VMs, iniciei os sistemas, atualizei-os novamente, instalei as adições de convidados da VM, iniciei o Firefox pela primeira vez e reinicializei para os testes reais.

Como o YouTube também oferece seus formatos WebM de código aberto e eu queria evitar entrar em muitos detalhes sobre os métodos de teste, precisava usar outro site com capacidade para HTML5 para testar o suporte à reprodução H.264 proprietário. Eu escolhi o Vimeo, porque eles dizem que assumem o padrão HTML5 e não parecem dar suporte ao WebM, o que considero não ser uma coisa boa.

Sempre que fazia algumas alterações no teste, como instalar um pacote ou ativar / desativar algo no Firefox, fechei e iniciei o Firefox novamente.

14.04.2 com addons restritos

insira a descrição da imagem aqui

Como você pode ver nesta captura de tela, apenas o plug-in OpenH264 está ativado no Firefox, todos os pacotes GStreamer necessários em versões diferentes são pré-instalados e o vídeo é reproduzido conforme o esperado.

15.04 sem addons restritos

insira a descrição da imagem aqui

Como você pode ver nesta captura de tela, o plug-in OpenH264 está ativado, não há plug-in Flash, alguns pacotes do GStreamer em versões diferentes são pré-instalados, mas o vídeo não é reproduzido! Em vez disso, o site imediatamente nos diz que o vídeo não pode ser reproduzido. Por que é que?

insira a descrição da imagem aqui

  • Falta AAC! - Para simplificar, existe um arquivo no servidor que é alimentado em nosso navegador. Se você procurá-lo usando o inspetor no menu de contexto do Firefox, encontrará um MP4 com áudio codificado em AAC. A mensagem de erro pode ser mais clara, mas faz sentido, pois não temos um decodificador para o AAC atualmente instalado.
  • Atualização: Examinando novamente esse problema com o Firefox 41, descobri que o OpenH264 parece estar desativado em about: config através de:

    media.fragmented-mp4.exposed;false
    media.fragmented-mp4.gmp.enabled;false
    

    Configurá-los para truenão teve efeito. Outras configurações que tentei:

    • media.audio_data.enabled;true sem efeito.
    • media.mediasource.enabled;true O Vimeo não usava o MSE antes, ativar essas configurações e as relacionadas não tiveram efeito.
    • media.fragmented-mp4.use-blank-decoder;true resultado: uma tela verde sólida e um sinal de áudio de onda senoidal constante.

15.04 com addons restritos

Uma abordagem inteligente seria instalar gstreamer1.0-plugins-bad-faad, mas isso não faz com que a mensagem de erro específica no Vimeo vá embora, então vamos instalar todos os addons restritos.

insira a descrição da imagem aqui

Como esperado, tudo funcionará se você instalar o pacote de addons restritos posteriormente , mas convém definir o plug-in do Flash para algo diferente do enabledFirefox, para usar o vídeo HTML5.

Análise ou apenas fazê-lo quebrar

insira a descrição da imagem aqui

Aparentemente, gstreamer1.0-libavé o único pacote que você precisa remover para receber a mensagem de erro. Então, ele estava usando o decodificador AAC do libav? Não procurei provas para isso nem procurei qual decodificador seria preferido (por exemplo, se o OpenH264 for de alguma utilidade atualmente no Linux) ou se o Vimeo lança essa mensagem de erro devido a alguma outra dependência não ser atendida, apesar de H Decodificadores .264 e AAC sendo instalados.

Resumo e perspectivas

Para resumir, a reprodução do conteúdo principal atual não requer apenas um decodificador H.264, mas também um decodificador AAC e o H.265 já está se preparando para substituir o anterior. Também não vejo a especificação correspondente para MP4s com H.264 ser alterada no sentido de recomendar um codec de áudio compatível com código-fonte mais aberto em um futuro próximo.

Sério, pressione WebM! Você obtém VP8 + Vorbis como candidato a H.264 / AVC e VP9 + Opus como candidato a H.265 / HEVC.


No 15.04, você realmente tem o youtube player html5 funcionando? Para mim, o vídeo é reproduzido, mas não há som. Eu tenho todos os pacotes mencionados instalados. Usando FF 38.
naught101

Muito interessante. Você poderia nos dizer se a instalação do codec de áudio afeta o valor disponível da decodificação H264 em about: support?
Martin Hansen

2

Atualmente, o Firefox usa o OpenH264 apenas para WebRTC e não para a tag de vídeo, porque o OpenH264 ainda não suporta o formato de alto perfil frequentemente usado para streaming de vídeo.

Fonte: http://andreasgal.com/2014/10/14/openh264-now-in-firefox/

gstreamer1.0-libav é provavelmente a única opção para adicionar suporte à tag de vídeo H264 HTML5 no Firefox para Linux.


É o suficiente para o Firefox no Ubuntu 18.04 LTS.
kubanczyk

0

Com o Firefox30 você precisa instalar o gstreamer 1.0 . Você também deve instalar a maioria dos plugins: ruim, feio, ...

Não se confunda com o nome do pacote, você deve instalar: gstreamer1 , não gstreamer (o número um / 1 faz parte do pacote e não uma "versão"). As mesmas regras se aplicam a todos os plugins: "gstreamer1-plugins -..."

Aqui está um URL mais completo para testar os recursos html5 do navegador e o suporte a codec: http://html5test.com/

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.