Я хочу объединить 5 секунд чистого / черного видео в конец разных видео, загружаемых из сети. Процесс, который у меня есть для этого, не работает.
Сначала я использую ffprobe
для размеров видео (скажем, это 640x480). Затем я создаю свое пустое видео следующим образом:
ffmpeg -f lavfi -i color=color=black -t 5 -s 640x480 blank.mp4
Результирующее видео blank.mp4
воспроизводится как пустое 5-секундное видео, как и ожидалось.
Затем я объединяю видео так:
ffmpeg -i random.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts a.ts
ffmpeg -i blank.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts b.ts
ffmpeg -i concat:a.ts|b.ts -c copy -bsf:a aac_adtstoasc final.mp4
Теперь стоит отметить: я взломал это вместе с фрагментами со всего Интернета / stackoverflow, и я почти уверен, что это неправильно. На самом деле, я знаю, что это неправильно, потому что ...
Получающееся видео, final.mp4
, кажется почти правильным. Но во время воспроизведения, как только точка воспроизведения вводит конец видео в 5 секунд черного цвета, видео больше не может успешно искать ранее в видео. Вместо этого видео остается черным (хотя я могу слышать звук).
Предложения? Я ищу общее решение, которое будет работать с различными файлами mp4, которые я нахожу в сети. Спасибо!
полезно, но требует создания большого пустого видео с большей продолжительностью, чем исходное видео ... https://stackoverflow.com/a/36786271/62255