Comando Específico de Requisitos de Construção para a ferramenta 'ffmpeg'

1

Comunidade de origem

Eu tenho tentado descobrir um comando ffmpeg com os seguintes requisitos ao converter 'avi' em 'mp4' com codecs de vídeo H264. Um comando que eu tentei foi um genérico como este que é recomendado na maioria dos fóruns.

ffmpeg -I input.avi -acodec copy -vcodec copy output.mp4

Mas isso copia o mesmo codec de vídeo & não converte em H264. Algum de vocês pode me ajudar a compor uma linha de código que faria a tarefa com os seguintes requisitos.

= > Opções de Vídeo

Codec: H264 Proporção de vídeo: sem alteração Resolução de vídeo: sem alteração Vídeo FPS: sem alteração

= > Opções de Áudio

Codec: AC Canais de áudio: sem alteração Freqüência de áudio: sem alteração Normalização de áudio: sem alteração

Obrigado antecipadamente!

    
por Sollosa 13.08.2016 / 20:01

1 resposta

1

Vamos enumerar os parâmetros para ffmpeg então.

  • -acodec é melhor escrito -c:a (codec menmonico para áudio)
  • -vcodec é melhor escrito -c:v (mesmo mnemônico)
  • -i é o arquivo de entrada (não -I )

ffmpeg faz uma suposição muito boa com base em extensões de arquivo, portanto:

ffmpeg -i file.wem file.mp4

Converte as coisas, mas provavelmente em uma qualidade muito ruim.

Por H264 você está após o codec libx264 , portanto deve ser:

ffmpeg -i file.avi -c:v libx264 -c:a copy file.mp4

Como teste, vamos usar o exemplo clássico webm :

$ wget http://video.webmfiles.org/big-buck-bunny_trailer.webm
...
$ ffmpeg -i big-buck-bunny_trailer.webm -c:a copy -c:v libx264 bbb.mp4
...
$ ffprobe bbb.mp4
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.41.100
  Duration: 00:00:32.50, start: 0.000000, bitrate: 414 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 341 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: vorbis (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 64 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

E isso parece promissor, o stream # 0: 0 é um fluxo de vídeo codificado por H264.

    
por 15.08.2016 / 03:53