Converte arquivos de História em Quadrinhos em Vídeos, para serem visualizados em TVs/Video players.
Ler História em Quadrinhos por meio de vídeos permite que o usuário fique com as mãos livres, pois não há a necessidade de segurar um celular ou pressionar nenhum botão/tela para mudar de página, além de permitir a utilização por pessoas com deficiência/paralisia.
Documentação em: English | Português - Brasil
Exemplo utilizando "Whiz Comics #34 (1942) - Fawcett Publications" (Domínio Público)
Por ser baixado do GitHub e não da Apple Store, siga todos os passos abaixo antes de usar o comics2video pela primeira vez
- Faça o download do arquivo:
- Descompacte o arquivo baixado
- Clique com o botão direito no arquivo comics2video_Prepare_First_Execution e escolha "Abrir" no submenu
- Confirme a abertura do arquivo. Um script será executado e mostrará a mensagem "Done"
- A partir de agora, abra o comics2video usando o arquivo de aplicativo:
Use os botões para selecionar um arquivo de História em Quadrinhos (ou pasta) no seu sistema e inicie a conversão
Faça o git clone deste projeto, e então use:
npm install
Em Windows ou macOS, inicie a Interface Gráfica com o comando:
npm start
Em Linux, inicie a Interface de Terminal com:
node comics2video ./path/yourComicBookFile.cbr
Se o último parâmetro for uma Pasta, todos os arquivos válidos dentro da mesma serão processados.
Adicione o comics2video ao seu próprio projeto em Node.js com:
npm install comics2video
Adapte o código de exemplo a seguir:
const Comics2video = require('comics2video');
const source = './path/myComicBook.cbr'; // File or Folder
const userParameters = { } // Parameters listed in next section
const comicsConversion = new Comics2video(source, userParameters);
// Event triggered on each status change
comicsConversion.on('progressUpdated', (data) => {
// toString() combines all fields in 'data' object in a single string
console.log(data.toString());
});
// Event triggered only once at the end of conversion
comicsConversion.on('processCompleted', (data) => {
console.log(`(${data.resultType}) ${data.resultMessage}`);
});
( async () => {
await comicsConversion.start();
})();
Campos da estrutrura userParameters (todos opcionais):
Nome | Como definir | Valor padrão | Descrição |
---|---|---|---|
generateVideo | boolean | true | Se igual a false, apenas Imagens serão geradas |
contentProfile | string: 'simple', 'complex' |
'complex' | Muda a forma com a qual o OCR determina o tempo de duração de cada frame: • 'simple' : Para HQ infantil, arte com pouco detalhe • 'complex' : Para HQ de Heróis, arte com bastante detalhe |
readingSpeed | string: 'slow', 'normal', 'fast' |
'normal' | Também influencia o cálculo dos tempos de duração: • 'slow' : Para crianças, ou leitura em outro idioma • 'normal' : Velocidade normal de leitura • 'fast' : Leitura dinâmica |
coverPageProcessing | string: 'thumbnailPage', 'normalPage', 'thumbnailAndNormalPage' |
'thumbnailPage' | Processar Página de Capa como: • 'thumbnailPage' : Capa será mostrada como uma miniatura • 'normalPage' : Capa será mostrada como página normal • 'thumbnailAndNormalPage' : Capa como miniatura e página normal |
messageLanguage | string: 'en', 'pt' |
'en' | Idioma da Interface Gráfica e alguns elementos: • 'en' : Inglês • 'pt' : Português (Brasil) |
Após cada processamento, uma pasta será criada com o mesmo nome do arquivo da HQ, contendo:
- O arquivo de vídeo no formato .MP4
- Abra o mesmo na TV ou Video player de sua preferência, como um vídeo normal. O avanço será automático, com o tempo determinado pela quantidade de texto em cada página
- Uma sub-pasta chamada 'Imagens' contendo todos os frames utilizados, em formato .JPG
- A ser utilizado na função de visualizar fotos nas TVs modernas, com o avanço manual das páginas pelo controle remoto
Extração de arquivos CBR/RAR: unrar-promise, arquivos CBZ/ZIP: win-7zip+cross-zip, arquivos PDF (Windows): node-poppler, Processamento de Imagens: sharp, OCR: tesseract.js, Geração de Vídeo: ffmpeg-static, Interface Gráfica: electron+photonkit
- Tradução da Interface Gráfica e documentação para Espanhol e outros idiomas além de Inglês e Português (precisamos de ajuda nisso!)
- Qualquer outra boa sugestão que você queira compartilhar 😉
🐧 Maurício Antunes Oliveira: [email protected]