.png)
Como um pequeno experimento, estou pensando em converter alguns vídeos/filmes/séries de TV em um formato que possa ser reproduzido no meu K850, mas para ser um pouco mais genérico nesta questão, digamos um telefone "Sony Ericsson de gama média", já que todos eles se comportam mais ou menos da mesma forma e têm a mesma resolução de tela (240 x 320).
Estou procurando ferramentas baseadas em linha de comando (para Ubuntu), pois estou pensando em escrever um script "converter e mover" mais tarde, se for bem-sucedido.
Muitos dos vídeos que tenho estão codificados em mkv/h264, mas como isso não é compatível com o telefone, acho que preciso convertê-lo em algum vídeo mp4/mpeg4 de baixa qualidade.
Depois de pesquisar no Google, parece que um bom candidato para o trabalho éffmpeg, mas parece ser uma ferramenta muito versátil com muitos truques de mágica.
Estou no caminho certo? E se sim, como uso o ffmpeg para fazer isso?
Obrigado Johan
Atualizar: Depois de banhar um pouco com ffmeg, percebi que ele usa apenas 1 dos meus 4 núcleos, então a transcodificação leva uma eternidade. Encontrei um argumento chamado -threads mas isso não mudou muito, talvez eu tenha entendido errado.
Também descobri que algo assim toca no telefone.
ffmpeg -i Mythbusters\ S1D1_1.mkv -threads 4 -t 180 -vcodec mpeg4 -r 15 -s 320x240 Mythbusters\ S1D1_1_mini.mp4
Era possível usar 3gp/h263, mas a qualidade era realmente inútil.
ffmpeg -i Mythbusters\ S1D1_1.mkv -t 180 -vcodec h263 -acodec libfaac -s cif Mythbusters\ S1D1_1_cif.3gp
E parece que mp4/h264 também é possível e o resultado está ok, graças aessa questão, este parece usar mais de um núcleo também, então foi um pouco mais rápido para mim.
ffmpeg -i Mythbusters_S1D1_1.mkv -t 180 -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me_method umh -subq 6 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 500k -maxrate 768k -bufsize 2M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -threads 0 -f mp4 Mythbusters_S1D1_1_qvga.mp4
Atualizar: Tentei usar o HandBrakeCLI e não há problema em criar um novo arquivo que pareça igual ao criado com ffmpeg com algo assim.
HandBrakeCLI -i Mythbusters_S1D1_1.mkv --size 100 -E faac -B 60 --maxHeight 240 -r 15 -e x264 -o Mythbusters_S1D1_1_hand.mp4
Mas esse não tocou no telefone...
Encontrei isso no manual oficial:
Se você transferir videoclipes usando outro programa que não o Media Go™, recomendamos selecionar vídeo de perfil H.264 Baseline, até QVGA a 30 fps, VBR 384 kbps (máx. 768 kbps) com áudio AAC+ a 128 kbps (máx. 255 kbps). ), 48 kHz e áudio estéreo em formato de arquivo mp4.
Portanto a ideia de usar o H264 parece correta.
Responder1
Por que nao tentarFreio de mão? Está disponível para Linux, Mac Os e Windows e também possui interface de linha de comando, se desejar.
Aquié um guia para o Handbrake CLI.
Responder2
Não consigo entender melhor do que este exemplo do ffmpeg:
ffmpeg -i Star_Wars.mkv -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags + loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -m e_method umh -subq 6 -trellis 1 -refs 5 -codificador 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0,71 -bt 500k -maxrate 768k -bufsize 2M -qcomp 0,6 -qmin 10 -qmax 51 -qdiff 4 -nível 13 -threads 0 -f mp4 Star_Wars.mp4
Isso converte um episódio de TV de 50 minutos (4:3) em um arquivo de 70Mb (era 700Mb antes)
e um filme de 2h (16:9) em um arquivo de 470Mb (era 1700Mb antes)