Como um pequeno experimento, eu pensei em converter alguns vídeos / filmes / séries de TV em um formato que pudesse ser reproduzido no meu K850, mas para ser um pouco mais genérico nessa questão, digamos "telefone Sony Ericsson mid-range" já que todos eles se comportam mais ou menos da mesma forma e tem a mesma resolução de tela (240 x 320).
Estou procurando ferramentas baseadas em linha de comando (para o Ubuntu), já que estou pensando em escrever um script "convert and move" mais tarde se ele for bem-sucedido.
Grande parte do vídeo que tenho está codificado em mkv / h264, mas como isso não é suportado pelo telefone, acho que preciso convertê-lo em algum vídeo mp4 / mpeg4 de baixa qualidade.
Depois de algum googling, parece que um bom candidato para o trabalho é ffmpeg ,
mas isso parece ser uma ferramenta muito versátil com muitos truques mágicos.
Estou no caminho certo? E se sim, como eu uso o ffmpeg para fazer isso?
Obrigado
Johan
Atualizar :
Depois de plaquear um pouco com ffmeg notei que ele usa apenas 1 dos meus 4 núcleos, então a transcodificação demora uma eternidade. Eu encontrei um arg chamado -threads, mas isso não mudou muito, talvez eu tenha entendido errado.
Eu 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 o mp4 / h264 também é possível e o resultado é ok, graças a esta 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 :
Eu tentei usar HandBrakeCLI e não há problema em criar um novo arquivo que parece ser o mesmo que o criado com ffmpeg com algo parecido com isto.
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 jogou no telefone ...
Eu encontrei isso no manual oficial:
If you transfer video clips using
another program than Media Go™, we
recommend that you select H.264
Baseline profile video, up to QVGA at
30 fps, VBR 384 kbps (max 768 kps)
with AAC+ audio at 128 kbps (max 255
kbps), 48 kHz and stereo audio in mp4
file format.
A ideia de usar o H264 parece estar correta.