jul
Convertendo MKV e AVI para MP4 direto do qBitTorrent
Perceberam que agora o padrão virou MKV na internet?
Pois é… teoricamente um container melhor, mais versátil (múltiplas trilhas sonoras, por exemplo) e aberto. Mas é uma chatice, pois a maioria vem com áudio AC3 dentro, quando em MP4 agente normalmente tem áudio AAC ou MP3 dentro.
Qual o problema? HTML5, ou seja Google Chrome e Chromium não tocam AC3 por ser proprietário.
Eu uso o Plex Media Server toda hora. Tenho um servidor que reúne meus seriados e filmes. Assisto em casa e remotamente pelo Google Chrome, Celular, Tablet, ou até ChromeCast. O chato é que o Plex tem que fazer transcoding do AC3 para podermos assistir no navegador, e quando dou pause não consigo continuar de onde parei, não sei exatamente porque, além de consumir mais processamento do Media Server. Mas se o som for AAC ou MP3 não tenho este problema.
No Linux é muito fácil converter pela linha de comando:
avconv -y -i video.mkv -vcodec copy -acodec mp3 -movflags +faststart video.mp4
Fácil! Basta ter o libav-tools e ffmpeg instalados no seu Linux (sudo apt install libav-tools no Ubuntu). Este comando apenas converte o áudio para MP3, caso não seja já MP3, sem mexer no vídeo. Coisa rápida.
Caso você queira garantir que o vídeo também seja convertido basta usar -vcodec mpeg4 ou h264, ao invés de “copy” que apenas copia o codec existente. Daí tem que verificar mais detalhes da conversão. Sem inserir nenhum parâmetro específico o h264 demora pra caramba… mpeg4 perde qualidade.
Também uso o qBitTorrent para baixar muita coisa. Nas configurações dele coloquei o seguinte script para converter automaticamente, tanto MKV como AVI. É uma gambiarra, mas está funcionando direitinho pra mim. Nas configurações de Download, coloquei o seguinte Programa Externo para ser executado depois de baixar o torrent: /home/alroger/bin/conv-mkvac3-mp4mp3.sh %F
Eis o conv-mkvac3-mp4mp3.sh:
#!/usr/bin/fish
##
### Convert MKV/AVI files to MP4, and AC3 to MP3.
### by Alroger Jr 2016
###set videop “$argv”
cd $videop
mkdir .unwanted
echo “…” >> /tmp/conv-mkvac3-mp4mp3.log
echo “==========================” >> /tmp/conv-mkvac3-mp4mp3.log
date >> /tmp/conv-mkvac3-mp4mp3.log
echo PATH = $videop >> /tmp/conv-mkvac3-mp4mp3.log
pwd >> /tmp/conv-mkvac3-mp4mp3.log
for video in *.mkv; avconv -y -i $video -vcodec copy -acodec mp3 -movflags +faststart (basename $video .mkv).mp4; mv $video .unwanted; end >> /tmp/conv-mkvac3-mp4mp3.log
for video in *.avi; avconv -y -i $video -vcodec copy -acodec mp3 -movflags +faststart (basename $video .avi).mp4; mv $video .unwanted; end >> /tmp/conv-mkvac3-mp4mp3.log
echo “==========================” >> /tmp/conv-mkvac3-mp4mp3.log
OBS: Este script requer o fish (friendly interactive shell). sudo apt install fish no Ubuntu. Ele entra na pasta onde o torrent foi baixado e procura converter todos os arquivos .mkv e .avi desta pasta para .mp4. Em seguida move o original para a pasta oculta .unwanted, que o qBitTorrent usa quando você não quer baixar certos arquivos de um Torrent. Assim o meu servidor Plex não vai encontrar 2 vídeos, apenas o mp4.
Alroger Filho