2 posts tagged

ffserver

RTSP сервер средствами ffserver & ffmpeg

RTSP расшифровывается как Real Time Streaming Protocol — потоковый протокол реального времени — по сути это протокол управления вещанием, он позволяет выполнять несколько команд, такие как «старт», «стоп», «переход на определённое время».

Тестировал:
•Одноплатный компьютер Orange PI PC
•Web-камера LOGITECH HD Webcam C270

Важно! Камера должна на выходе иметь изображение, которое не нужно перекодировать.
Если вы запустили потоковое видео средствами ffserver & ffmpeg , RTSP сервер запускается после редактирования /etc/ffserver.conf

nano /etc/ffserver.conf

Мой /etc/ffserver.conf

Port 8090 
RTSPPort 8091 
RTSPBindAddress 0.0.0.0 
MaxClients 100 
MaxBandwidth 20000 
<Feed feed.ffm> 
File /tmp/feed.ffm FileMaxSize 5M
Launch ffmpeg -f video4linux2 -i /dev/video0 
</Feed> 

# RTSP 

<Stream live>
Feed feed.ffm
Format rtp
VideoFrameRate 10
VideoBufferSize 2000
VideoBitRate 800
VideoQMin 1
VideoQMax 31
VideoSize 640x480
Noaudio
</Stream>

Сохраняем изменения в файле (ctrl + o) и закрываем файл (ctrl + x).

запускаем ffserver:
опция -d отладочный режим

ffserver -d

rtsp://Ваш_IP:8091/live смотрим в VLC

Интересный, но мной не проверенный плеер:
HTML5 RTSP Player
поддерживает:
Browser support:
•Firefox v.42+
•Chrome v.23+
•OSX Safari v.8+
•MS Edge v.13+
•Opera v.15+
•Android browser v.5.0+
•IE Mobile v.11+

Мне был задан вопрос “Как автоматически запускать и останавливать RTSP сервер при заходе на веб страницу?”
RTSP сервер можно запускать и останавливать bash скриптом. Google в помощь.

2017   armbian   ffmpeg   ffserver   OrangePI PC   RTSP

Сервер потокового вещания средствами ffserver & ffmpeg

Тестировал:
•Одноплатный компьютер Orange PI PC
•Web-камера LOGITECH HD Webcam C270

Важно! Камера должна на выходе иметь изображение, которое не нужно перекодировать.

ffserver идёт в комплекте с ffmpeg и выполняет роль медиа-сервера — получает видеопоток от ffmpeg. Каждый получаемый поток называется Feed’ом. Таких потоков может быть несколько, так же как и отдаваемых (выходных).

Сборка FFmpeg

git clone https://github.com/ua3nbw/gpiokey.git
cd gpiokey
sudo chmod -R 777 *
./build_ffmpeg.sh

Сначала настроим ffserver, чей конфиг лежит в /etc/ffserver.conf:

nano /etc/ffserver.conf

Мой /etc/ffserver.conf

Port 8090 
<Feed feed.ffm> 
File /tmp/feed.ffm FileMaxSize 5M
Launch ffmpeg -f video4linux2 -i /dev/video0 
</Feed>

<Stream live.swf>
Feed feed.ffm
Format swf # Macromedia Flash compatible stream
VideoCodec flv
VideoFrameRate 10
VideoIntraOnly
VideoBufferSize 80000
VideoBitRate 256
VideoQMin 1
VideoQMax 5
VideoSize 640x480
Noaudio
</Stream>

Сохраняем изменения в файле (ctrl + o) и закрываем файл (ctrl + x).
запускаем ffserver:
опция -d отладочный режим

ffserver -d

смотрим в VLC http://Ваш_IP:8090/live.swf или устанавливаем свой сервер apache и вставляем http://Ваш_IP:8090/live.swf в html-страницу используя, ну например flowplayer

2017   armbian   ffmpeg   ffserver   OrangePI PC