Questão Converter BMP para vídeo em uma determinada taxa de quadros no FFmpeg


Eu estou tentando codificar vários BMPs \ JPEG em um arquivo de filme usando:

ffmpeg -f image2 -i a%d.jpg output.mpg      

A coisa é que eu quero que a taxa de quadros do filme seja 10, e parece ser 25 (como padrão, eu acho). Como posso dizer qual framerate usar?

Eu estou usando o Windows 7, de 64 bits (DELL).


2


origem




Respostas:


Por favor, leia o Documentação do FFmpeg. O framerate é especificado com -r.

Como um exemplo de conversão de imagem para vídeo, eles mencionam:

Use o ffmpeg para criar um vídeo a partir das imagens na sequência de arquivos   "Img-001.jpeg", "img-002.jpeg", ..., assumindo uma taxa de quadros de entrada de   10 quadros por segundo:

ffmpeg -i 'img-%03d.jpeg' -r 10 out.mkv

Note que normalmente, o uso de -f image2 não é necessário. Além disso, as configurações padrão usadas para converter .mpg arquivos podem resultar em baixa qualidade. Se você puder pagar, tente usar o contêiner x264 e MP4:

ffmpeg -i a%d.jpg -r 10 -c:v libx264 -preset slow -crf 21 output.mp4

Varie o -crf parâmetro de qualidade, onde menos significa melhor qualidade e mais significa pior qualidade. Os valores básicos podem ser de 18 a 26, com o padrão definido como 23.


2



Talvez a documentação deva ser mais clara já que, por padrão, as imagens terão uma taxa de quadros de entrada de 25. Adicionando -r 10 como uma opção de saída fará com que o ffmpeg elimine quadros, mas usá-lo como uma opção de entrada usará todos os quadros. - LordNeckbeard
Ah, interessante. Então provavelmente melhor especificando -r 10 -i … então para o caso de uso acima? - slhck
Para o caso de uso do OP, acho que provavelmente seria melhor como uma opção de entrada. Infelizmente, eu duvido que o .mpg possa suportar 10 fps (ainda outro motivo para sua recomendação MP4). Diferente -r valores podem ser usados ​​para entrada e saída, mas isso levará a enganos ou quedas que podem ser dificilmente perceptíveis ou realmente feios. - LordNeckbeard