Estou tentando diminuir e diminuir o zoom de um videoclipe com a duração de alguns segundos, e o ffmpeg parecia a melhor maneira. A documentação menciona uma opção de desvanecimento , e eu a trabalho com um tempo em quadros, mas eu realmente quero poder usar segundos.
Usando o exemplo dos documentos e adicionando o seguinte a um comando de codificação de trabalho:
-vf "fade=t=in:st=5.5:d=0.5"
Eu recebo:
[fade @ 0x102f009a0] Option 'st' not found
[AVFilterGraph @ 0x102f00d00] Error initializing filter 'fade' with args 't=in:st=5.5:d=0.5'
Eu recebo o mesmo erro usando o argumento long start_time
Eu tenho o ffmpeg versão 1.2 e o libavfilter 3. 42.103 / 3. 42.103
Eu usaria quadros para especificar o tempo e a duração do desbotamento, mas estou especificando a duração do clipe em segundos e não tenho idéia de quanto tempo o clipe terá em quadros. Para especificar o desbotamento, preciso saber o tamanho dos quadros e especificar a hora de início como num_frames - fade_duration_in_frames
.
Mais alguém atingiu esse problema?
3. 60.101 / 3. 60.101
que recuperei do Git em 25 de abril. Eu acho que esse é seu problema, provavelmente sua versão antiga do libavfilter ainda não pode lidar com essa opção?Respostas:
Você está usando uma versão antiga do Libavfilter em que esses filtros ainda não foram implementados. Eu testei com uma versão recente do libavfilter
3. 60.101 / 3. 60.101
e está funcionando corretamente. Tente criar o FFmpeg novamente usando a versão atual e ela deve funcionar para você também.fonte
Estou tendo o
libavfilter 7. 16.100 / 7. 16.100
e tenho o mesmo problema comst
estart_time
.O problema real pode não ser
st
oustart_time
. Verifique os logs em que tenho outros problemas relacionados a comandosfilter_complex
. Sobre a verificação do registro e corrigi-lo eu não recebi qualquerst
estart_time
questão relacionadafonte