Conversão de vídeo para celular

1

Eu costumo baixar e assistir vídeos da Deutsche Welle para trabalhar no meu alemão. Ultimamente, tenho viajado muito e assistir aos vídeos no meu celular no trem seria bom.

Eu tentei copiar + colar os vídeos no celular, mas não foi lido.

Eu tentei convertê-lo com o ffmpeg, mas também não foi lido.

O comando usado, dentro de um pequeno script bash do cygwin, era:

ffmpeg -y -i video.mp4 -r 14.65 -s 320x240 -b 389k -acodec libvo_aacenc -ac 1 -ar 8000 -ab 12k video.3gp

As características do vídeo original baixado são:

Metadata:

major_brand     : mp42
minor_version   : 0
compatible_brands: isom
creation_time   : 2014-02-10 03:54:28

Duration: 00:01:59.16, start: 0.000000, bitrate: 695 kb/s

Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 598 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc
Metadata:
  creation_time   : 2014-02-10 03:54:28
  handler_name    : MP4 Video Media Handler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 93 kb/s
Metadata:
  creation_time   : 2014-02-10 03:54:28
  handler_name    : MP4 Sound Media Handler

e a característica de um vídeo criado pelo celular são:

Metadata:

major_brand     : isom
minor_version   : 512
compatible_brands: skm23gp5

Duration: 00:00:27.31, start: 0.000000, bitrate: 405 kb/s

Stream #0:0(und): Audio: amr_nb (samr / 0x726D6173), 8000 Hz, 1 channels, flt, 12 kb/s
Metadata:
  handler_name    : soun
Stream #0:1(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 389 kb/s, 14.65 fps, 15 tbr, 1k tbn, 15 tbc
Metadata:
  handler_name    : vide

qual seria a linha certa para converter o vídeo baixado?

muito obrigado.

    
por Alex Caseiro 12.02.2014 / 10:26

1 resposta

4

Adivinhar aqui sem conhecer o telefone e sua plataforma, mas os vídeos 3GP do ffmpeg normalmente contêm vídeo H.264. Seu telefone grava vídeo MPEG-4 Parte II, que é (mais ou menos) o antecessor do H.264 e, portanto, "mais simples".

Muitos telefones antigos não podem reproduzir H.264 ou apenas um subconjunto restrito dele. Dado que o vídeo original usa a linha de base H.264 e seu telefone não o reproduz, eu acho que não é possível assistir ao H.264 nele.

Experimente o áudio MPEG-4 e MP3 em um contêiner AVI - essa é a melhor combinação para vídeo em máquinas mais antigas ou antes de o H.264 se tornar onipresente:

ffmpeg -y -i video.mp4 -c:v mpeg4 -b:v 600k -c:a libmp3lame output.avi

Você também pode usar -qscale:v 3 em vez da configuração de taxa de bits para VBR. Aqui, os valores variam de 1 a 31, onde menor é melhor. Consulte o Guia de codificação Xvid / DivX .

Se o seu telefone suporta H.264 com o perfil de linha de base, que é para destinos móveis ou plataformas com baixo poder computacional:

ffmpeg -y -i video.mp4 -c:v libx264 -crf 23 -profile:v baseline \
-c:a aac -strict experimental output.mp4

Altere a qualidade por definindo o parâmetro CRF entre 18 e 28, onde menor significa melhor.

Notas sobre seus comandos originais:

  • -b é ambíguo - especifica taxa de bits de vídeo ou áudio com -b:v e -b:a
  • libvo_aacenc oferece a pior qualidade de todos os codificadores AAC no ffmpeg. Use o aac um interno ou, se puder, libfdk_aac ou libfaac . Veja o Guia de codificação do AAC .
por 12.02.2014 / 10:40