Estou tentando usar o ffmpeg para cortar arquivos de vídeo em horários precisos. A ajuda do ffmpeg mostra uma opção -timecode_frame_start para especificar o quadro inicial, mas não consigo fazer esse comando funcionar. O vídeo resultante sempre começa no início do vídeo original. Aqui está um exemplo do comando que estou executando:
ffmpeg -i input.mpg -acodec copy -vcodec copy -timecode_frame_start 200 -vframes 210 -n ouput.mpg
Mudei a opção timecode_frame_start antes e depois das outras opções sem alteração nos resultados. Existe uma opção adicional que preciso especificar? Eu tentei vários formatos de arquivo, MKV, AVI, MP4, e não parece que o problema está relacionado ao codec. Aqui está um arquivo que eu tentei:
http://www.seaotter.com/marine/movies/hermit-long-01.mpg
Estou esquecendo de algo?
melt
, consulte os arquivos de vídeo com precisão de corte de linha de comando - Super UserRespostas:
Acabei de aprender que o
timecode_frame_start
não funciona assim. A única maneira de iniciar quadros específicos é converter um número de quadros emss.ms
sintaxe ouhh:mm:ss.ms
. Portanto, se o seu vídeo estiver a 25 qps e você quiser começar com 133 quadros, precisaráEntão corra
Observe que o corte em quadros exatos com cópia em fluxo de bits (
-c:v copy
) não é possível, pois nem todos os quadros são intra-codificados e podem permanecer sozinhos.-ss
sempre terá precisão de quadro.Se você deseja codificar um número específico de quadros, use
-frames:v
, por exemplo:Você também pode usar filtros de vídeo , mas o suporte a áudio pode não ser exato. E, aparentemente, a busca por quadros ainda não é um recurso. Você pode seguir este tópico da lista de discussão de usuários do FFmpeg para obter mais informações:
fonte
select=gte(n\,100)
método funciona, mas a busca está diminuindo o desempenho. Se você testar codificando apenas 30 quadros por vez, quanto mais o vídeo for iniciado, mais ffmpeg demora para ser concluído por causa da busca.A opção
por exemplo,corta o vídeo de (inclui) 200º a (inclui) 300º quadro, a contagem de sequências começa em 0.
fonte