Codifica vídeo com a alteração de taxas de bits usando o FFmpeg

1

Gostaria de codificar um vídeo de 30 min usando o ffmpeg. Eu sou capaz de conseguir isso usando

ffmpeg -i in.mp4 -vcodec libvpx -vb 1024k -keyint_min 150 -g 150 -an out.webm

Mas gostaria de codificar segmentos diferentes do vídeo em uma taxa diferente e não usar uma taxa constante de 1024k. Isso é possível?

Eu sei que horas eles têm para mudar a codificação. Por exemplo, digamos que 5 minutos de vídeo eu quero uma taxa de codificação de 1024k e próximos 5 min. Eu estou bem com 250k bitrate. Eu não quero usar VBR ou eu não quero cortar o vídeo e codificá-los em taxas diferentes e depois juntá-los.

Isso é possível. Eu li a man page do ffmpeg e vi que havia opções para

startime and time 

Mas não tenho certeza de como exatamente posso fazer isso supondo que isso seja possível.

    
por Pavan K 04.12.2012 / 11:37

1 resposta

1

But I would like to encode different segments of the video at different rate and not use a constant rate of 1024k. Is this possible?

Não. Isso simplesmente não é um caso de uso muito típico. Você quer uma taxa de bits constante (por exemplo, ao transmitir) ou deseja uma taxa de bits variável (qualidade constante). No último caso, o codificador selecionará a taxa de bits apropriada para corresponder à sua configuração de qualidade ou usará os parâmetros de quantização fornecidos. Veja este documento para os modos de codificação suportados pela libvpx.

I do not want to use VBR or I don't want to cut the video and encode them at different rates and then join them.

Esta provavelmente seria a única maneira de fazer isso. Você teria que encontrar uma maneira de exportar os fluxos de bits de vídeo VP8 brutos (o que é possível com ffmpeg … -f rawvideo out.webm ), juntá-los e depois envolvê-los novamente dentro de um contêiner WebM. Eu não encontrei uma solução para isso.

Ou você pode modificar o código-fonte do codificador libvpx de forma que ele aceite alterar a taxa de bits constante por tempo.

I read the man page for ffmpeg and saw there were options for startime and time

Não há essas opções no FFmpeg. Há uma opção -ss que altera a hora de início do processo de codificação e a opção -t que especifica por quanto tempo você deseja que o FFmpeg codifique. Mas esses são úteis apenas para o corte de vídeos.

    
por 04.12.2012 / 14:53