But I get a movie in which first 10 second video does not exist. (sound only)
A concatenação pode resultar em vídeo instável. Eu pessoalmente tenho evitado cortar com cópias de bitstream sempre que posso. Eu não acho que você será capaz de descobrir exatamente onde ele será cortado, mas é definitivamente em algum frame-chave.
Basicamente, se você usar -ss
após -i
, o ffmpeg buscará o timestamp, independentemente de ser um quadro-chave ou não. Em seguida, ele gravará o fluxo de saída a partir de lá, mas o player só poderá iniciar a partir da próxima imagem IDR *, por isso, você experimentará o vídeo em preto até que o decodificador possa começar a exibir algo.
Você pode tentar especificar -ss
antes de -i
, o que fará com que o ffmpeg procure apenas os quadros-chave e, assim, produza um fluxo de bits de saída que exiba o vídeo imediatamente.
* Uma imagem de IDR (instantaneous decoding refresh) em H.264 é uma imagem que consiste apenas de cortes intra-codificados e não requer que outras imagens sejam decodificadas. O decodificador só pode iniciar a decodificação quando receber uma imagem IDR. Grosso modo, você poderia chamá-lo de um quadro-chave, embora tecnicamente não seja o mesmo.