Posso obter as dimensões finais do vídeo de saída antes de codificar com o ffmpeg?

1

Olá, mundo :) (primeira msg, nível iniciante;))

Estou tentando escrever um pequeno script msdos para simplesmente redimensionar os vids.

Primeiro, com ffprobe eu recebo iw , ih , DAR, SAR da fonte e escolho uma altura de saída desejada oH. Eu uso essa simples linha cmd para deixar o ffmpeg calcular a largura de saída e fazer o trabalho:

ffmpeg -i !in! -ss !t1! -to !t2! -filter:v scale=-2:!oH!,setsar=1,setdar=!dar! -c:a copy !out!

Eu tomo o exemplo da largura de saída em um caso simples porque o cálculo é fácil, e o valor -2 do filtro de escala deve fornecer uma largura de saída de ow=trunc(oh*a/2)*2

Mas a vida não é tão simples! e às vezes eu adiciono / jogo com outras opções como crop ou outros efeitos, etc ... O cálculo automático com -1 ou -2 é útil, mas eu precisaria verificar se as dimensões finais calculadas pelo ffmpeg serão o que eu esperava antes de eu execute o script inteiro.

Assim, minha pergunta: existe uma maneira de obter uma estimativa em alguns dados do vídeo de saída antes de executar o ffmpeg, usando qualquer ferramenta ffmpeg?

  • Não encontrei nenhuma opção de "execução de simulação" (sem codificação) que pudesse fornecer alguns dados, pelo menos aqueles que são previsíveis.

  • Eu também pensei em usar o ffplay, pois ele pode pegar os mesmos argumentos e processar o vídeo 'on the fly' e tentar diferentes valores de nível de log: %código% mas não consigo encontrar as dimensões de saída em qualquer lugar ... embora o vídeo esteja realmente tocando ...

  • (última ideia ao escrever: parece que o ffmpeg pode extrair e processar uma única imagem do vídeo, então eu teria que analisá-la; mas seria uma etapa adicional e consumiria mais tempo para uma execução em lote)

alguma sugestão? obrigada!

    
por foxtrott 20.04.2017 / 01:27

0 respostas