URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 3770
[ Назад ]

Исходное сообщение
"склеивание видео и аудио в ffmpeg"

Отправлено back2egg , 13-Фев-12 17:17 
День добрый.
Есть файл с видео в формате yuv и аудио в формате oss (снято с веб-камеры).
Нужно склеить их в один файл в формате flv.
Делаю так:
ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt yuv420p -i video.yuv -f oss -i audio.oss -vcodec flv -f flv out.flv
Вроде все получается. Однако, продолжительность файла video.yuv ~10 секунд, а audio.oss - ~30 секунд. Никто не подскажет, как сделать чтобы кодирование прекращалось когда "заканчивается" видеофайл, а все "лишнее" из звукового файла обрезалось?
ЗЫ На самом деле ни продолжительность видео ни продолжительность звука заранее не известны и могут варьироваться в очень широких пределах. Известно только что видео всегда короче звука.

Содержание

Сообщения в этом обсуждении
"склеивание видео и аудио в ffmpeg"
Отправлено ACCA , 14-Фев-12 01:41 
> - ~30 секунд. Никто не подскажет, как сделать чтобы кодирование прекращалось
> когда "заканчивается" видеофайл, а все "лишнее" из звукового файла обрезалось?

Померять длительность видео хотя бы тем же mplayer -frames 0 -identify  и отдать ключ ffmpeg -t, не?


"склеивание видео и аудио в ffmpeg"
Отправлено back2egg , 14-Фев-12 04:24 
> Померять длительность видео хотя бы тем же mplayer -frames 0 -identify  
> и отдать ключ ffmpeg -t, не?

Спасибо, подумаю. Но на первый взгляд не вдохновляет. Это я сам виноват, потому как не все написал. На самом деле все выглядит так:

while true; do
pwcview -hkr ... | ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt yuv420p -i - -f oss -i /dev/dsp0.0 -vcodec flv -f flv tmp.flv
file=`date +%Y%m%d%H%M%S`
mv tmp.flv ${file}.flv
done

Причем pwcview немного заточен напильником - завершается когда достигнут конец выявленного движения. Т.е. хочется чтобы каждый фрагмент с движением находился в отдельном файле. И тут - меряй, не меряй - остановить чтение из dsp не получается :(
Видимо вообще придется без звука обойтись или искать какую-то альтернативу pwcview.
И почему разработчики ffmpeg не озадачились выявлением движения? Можно было бы им одним обойтись.