Desabilitar detecção de tipo de arquivo incorreta por extensão no ffmpeg

1

Estou tentando transcodificar arquivos mjpeg com ffmpeg e está detectando incorretamente as configurações. Se o arquivo não tiver extensão, ou uma extensão desconhecida, o ffmpeg detectará corretamente o formato mjpeg e lerá qualquer número de quadros que existirem.

O que não funciona é quando o arquivo tem extensão .jpg . Isso faz com que o ffmpeg leia apenas um quadro do arquivo e desconsidere quaisquer quadros adicionais.

Existe alguma maneira de dizer ao ffmpeg para parar de adivinhar com base na extensão do arquivo, ou pelo menos realmente usar o módulo mjpeg e não apenas ler um frame?

Eu sei sobre -f image2pipe -i - , mas isso exigiria passar por outros aros para canalizar o arquivo para o comando e não apenas fornecer o nome do arquivo para o processo, já que estou executando-o de outro processo sem o shell.

    
por Sami Kuhmonen 23.09.2015 / 10:38

1 resposta

1

Como eu digo ao ffmpeg para usar o formato I desejado?

(e não o que pensa deve usar)

ffmpeg é exigente quanto à posição de seus argumentos. Parece que você quer forçá-lo a usar mjpeg como um formato de entrada, o que significa que -f precisa vir antes do argumento -i . Por exemplo:

$ ffmpeg -f mjpeg -i mjpeg_image.jpg <other_options> output

Você também pode obter uma listagem de formatos compatíveis chamando ffmpeg -formats ; onde D indica a capacidade de decodificação (entrada) e E indica a capacidade de codificação (saída).

    
por 23.09.2015 / 10:46