LINUX.ORG.RU

ffserver ретранслирующий rtsp поток

 ,


0

1

Доброго времени суток!

Пытаюсь подружить motion с IP камерой, которая умеет только rtsp, который не умеет motion.

Соответственно, пытаюсь ретранслировать поток. Запускаю ffserver с такими параметрами:

# Описываем источник
<Feed centercam>
# Временный файл для хранения промежуточных данных
File /tmp/webcam.mjpg
# Максимальный размер файла с промежуточными данными
FileMaxSize 10M
# Команда запуска ffmpeg для захвата видео с камеры и отправки ffserver-у.
# Адрес для отправки данных (localhost) автоматически будет добавлен в конец этой строки.
# (подробнее см. ниже).
Launch ffmpeg -i rtsp://192.168.1.210:554/0
# С каких адресов может обращаться источник. Если закоментировано - с любых.
# ACL allow 127.0.0.1
</Feed>
# Описываем поток. SWF-файл с FLV-потоком внутри.
<Stream centercam.mjpg>
# Источник потока
Feed centercam
# Используемый формат
Format mpjpeg

Сервер запускается, но трансляция не идёт и временный файл - пустой. Если же просто запустить
ffmpeg -i rtsp://192.168.1.210:554/0 tmp.mjpg
То файл tmp.mjpg есть и содержит видео с камеры.

Куда копать?

-- Заранее спасибо!

★★★★★

ну нет знаю. У меня оно работает так:

Port 8090
<Feed feed-ls1.ffm>
File /tmp/feed-ls1.ffm
FileMaxSize 10M
ACL allow 127.0.0.1
</Feed>

<Stream ls1.flv>
Feed feed-ls1.ffm
Format flv
VideoCodec flv
VideoFrameRate 5
VideoBufferSize 50
VideoGopSize 10
Preroll 5
VideoBitRate 320
VideoQMin 2
VideoQMax 4
VideoSize 320x240
AudioCodec libmp3lame
AudioSampleRate 22050
AudioChannels 1
AudioBitRate 64
</Stream>

скармливаю ему

ffmpeg -y -r 5 -f rtsp -i rtsp://ls1.ipcam.local/live1.sdp http://127.0.0.1:8090/feed-ls1.ffm

vel ★★★★★
()
Ответ на: комментарий от vel

То есть, нет инструкции Launch? Файл создаётся отдельно?
У меня при таком подходе либо файл всегда пустой, либо ffserver сегфолтится... Или ты motion'у скармливаешь последнюю строчку?!?

Опиши, поподробнее, плз!

fractaler ★★★★★
() автор топика
Ответ на: комментарий от fractaler

Этому конфигу много лет. Я про launch даже не слышал :) В документации о нем ни слова.

Какой файл создается отдельно ?

Я сначала запускаю ffserver, а потом в screen-е запускается ffmpeg.

нет у меня motion.

vel ★★★★★
()
Ответ на: комментарий от fractaler

lsof на ffmpeg запущеный через launch из ffserver говорит stdin,stdout,stderr -> /dev/null

vel ★★★★★
()
Ответ на: комментарий от vel

про какой пустой файл ты говоришь?

feed-ls1.ffm

Заработало! Не знаю каким чудом, но заработало! Спасибо!

Выкладываю конфиг, чтоб не потерять. Ну, и вдруг кому пригодится.

Port 8090
<Feed feed-ls1.ffm>
File /tmp/feed-ls1.ffm
launch ffmpeg -loglevel panic -y -r 5 -f rtsp -i rtsp://192.168.1.210:554/0
FileMaxSize 10M
ACL allow 127.0.0.1
</Feed>

<Stream ls1.flv>
Feed feed-ls1.ffm
Format flv
VideoCodec flv
VideoFrameRate 5
VideoBufferSize 50
VideoGopSize 10
Preroll 5
VideoBitRate 320
VideoQMin 2
VideoQMax 4
NoAudio
VideoSize 1280x720
#AudioCodec libmp3lame
#AudioSampleRate 22050
#AudioChannels 1
#AudioBitRate 64
</Stream>
Осталось в mjpeg переделать и можно подключать motion

fractaler ★★★★★
() автор топика
Ответ на: комментарий от vel

Получилось даже motion к этому прикрутить. Но качество картинки почему-то ужасающее. И тормоза. Хотя ни сеть, ни проц, вроде не перегружены. Ладно, потом разберусь, на сегодня хватит.

Ещё раз большое спасибо за помощь!

fractaler ★★★★★
() автор топика
Ответ на: комментарий от fractaler

Дело было в низком framerate. И ещё добавил частоту -r 10 для входного потока, иначе при движении картинка опять смазывалась.

fractaler ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.