Digamos que eu tenho um vídeo, que pode ter qualquer dimensão ou codec (por exemplo, mp4), e quero adicionar 3 segundos de quadros pretos em sua cabeça.
Eu já vi outras variantes dessa pergunta que dizem respeito à adição de um único quadro e também respostas que especificam a largura e a altura do vídeo. No entanto, o vídeo pode ter qualquer largura e altura e não quero alterar esses valores. Basta adicionar o preto. Em um comando separado, eu também gostaria de adicionar os segundos de preto na cauda.
Não deve haver áudio na seção preta - o preto deve ser concatenado apenas para a frente e para o final. Além disso, eu gostaria de evitar a recodificação do vídeo, se possível, e copiar o resultado para um novo arquivo.
Qualquer ajuda seria apreciada.
Respostas:
O método básico para ingressar em vídeos sem recodificar é usar o desmuxador concat. Este dispositivo requer que os arquivos que estão sendo unidos compartilhem determinadas propriedades, como codec, taxa de quadros, dimensões de vídeo, base de tempo ... etc.
O primeiro passo é criar o segmento em branco, que pode ser usado na cabeça e na cauda.
É necessário executar uma etapa da contabilidade para o vídeo completo. Caso contrário, o vídeo combinado provavelmente será executado na velocidade errada.
Em seguida, crie um arquivo de texto.
Então corra
Meu primeiro passo supõe que o fluxo de vídeo tenha o formato de pixel mais comum
yuv420p
. O que deve ser bom, já que este é o único formato de pixel suportado por players da Web e câmeras de smartphones, câmeras de vídeo para consumidores etc. Caso contrário, ogeq
filtro pode falhar.Suponho também, tacitamente, que o vídeo completo não usa mais quadros de referência do que o produzido pela predefinição
medium
de x264. É uma suposição segura para 95% dos vídeos.Por fim, presumo que o vídeo completo tenha o AAC-LC como codec de áudio. Espera-se que seja verdade na maioria dos vídeos por telefone / câmera / web.
fonte