tholinka / crunchyroll-html5 Arquivado

Lançamento mais recente Greenkeeper badge

Realmente não gostamos de flash e queremos matá-lo o mais rápido possível. No entanto, atualmente não há nenhum HTML5 player disponível para o Crunchyroll sem ter uma assinatura. Então esta é a resposta.

Características

  • Um reprodutor de HTML5 completo que se parece muito com o reprodutor do YouTube.
  • Alterar a qualidade do vídeo no reprodutor.
  • Alterar legendas no player (usando libass com JavascriptSubtitlesOctopus).
  • Controles de velocidade.
  • Exibir automaticamente o próximo vídeo.
  • Cortes de corda (ver lista de atalhos)

Descarregar

Extensão cromada: https://chrome.google.com/webstore/detail/crunchyroll-html5/ihegfgnkffeibpmnajnoiemkcmlbmhmi

Adicionamento doFirefox: https://addons.mozilla.org/en-US/firefox/addon/crunchyroll-html5-unofficial/

Screenshots

Preview

Subtitle Engine

O browser é muito mau a mostrar legendas, por isso tive de encontrar uma biblioteca capaz de renderizar legendas SSA/ASS. Eu pesquisei apenas usando WebVTT, mas o Chrome não foi realmente capaz de renderizá-las sem uma grande caixa preta ao redor delas.

Então eu decidi usar JavascriptSubtitlesOctopus,que é um projeto emscripten que faz o trabalho de libass no navegador com o suporte a fontes. No entanto, fui obrigado a fazer algumas alterações no projeto para permitir o carregamento dinâmico do arquivodefault.ttffile e thefonts.conffile. Também implementei uma forma de alterar a faixa de legendas sem precisar reiniciar o WebWorker que está rodando o motor.

Todas as modificações podem ser encontradas aqui.

Building

Building este projeto resultará em um arquivo crunchyroll-html5.user.js no diretório/dist. Para fazê-lo rodar no Crunchyroll você precisa prependir o cabeçalho auserscript que permite a execução do script emhttp://www.crunchyroll.com/*. Atualmente eu não o fiz capaz de construir foreach browser ou userscript.

Antes de construir certifique-se de que você tenha instalado Node.jsand Yarn (opcional). Depois disso é necessário instalar as dependências do projecto através de qualquer um dos Yarn.jsand Yarn.

A construção é feita executando o script build:

$ yarn build

Empacotamento

Pode empacotar o addon antigo do Firefox como firefox.xpi (sem assinatura pois não é mais possível assiná-lo) e a Extensão Web como webextension.zip(signable see below).

$ yarn package:firefox$ yarn package:webextension

Assinatura Firefox

Você é capaz de assinar a Extensão Web. No entanto, você precisa de uma chave API e uma APIsecret para poder assinar a Extensão Web (você pode entrar lá). Se você deixar o ID da extensão vazia, uma nova será gerada. Você pode usar o ID gerado no futuro para atualizar a extensão ao invés de criar novas extensões a cada atualização.

$ yarn sign:webextension --key <API KEY> --secret <API SECRET> --id <ID>

TODO

  • Adicionar suporte para acompanhar o progresso
    • Chrunchyroll
      • Rastrear episódios observados
      • Utilizar o recurso Crunchyrolls resumir.
    • Kitsu
      • Rastreamento de episódios assistidos

      >

    • >

    • Minha Lista Anime
      • Rastreamento de episódios assistidos

      >

    • >

    • Rastreamento de episódios assistidos
    • >

    • Rastreamento de episódios assistidos
    • Rastreamento do que você assistiu em um vídeo.
    • Vídeos que você ainda não viu completamente.
  • Adicionar opção para mudar as legendas para outros idiomas. Atualmente, apenas o subtítulo padrão é exibido (na maioria dos casos será em inglês).
  • Adicionar mais fontes. Atualmente, somente o Arial está disponível. Deve ser bastante fácil, mas alguns testes precisam ser feitos para isso.
  • Considerar mover a seleção de qualidade para o player.
  • Ler para adicionar suporte ao Chromecast.
  • Adicionar uma tela final para indicar que o usuário terminou o episódio atual e talvez vá automaticamente para o próximo episódio.
  • Adicionar várias versões deste projeto para userscripts, Chrome, Firefox e mais.
  • Adicionar uma forma de o jogador se lembrar das escolhas do usuário como sendo alto ou baixo o volume.
  • Leve em reduzir o tamanho do código no userscript.
  • Bibliotecas Principais

    • hls.js
    • JavascriptSubtitlesOctopus

    Deixe um comentário