просто держать вещи короткими в начале.
Я транслирую через rtmp с avconv через конфигурацию nginx. Насколько я знаю, перехват этого потока на веб-сайт возможен только через flash. В наше время плохо воспроизводить флэш-файлы через смартфон (iPhone/Android/ что угодно). Я хочу захватить этот поток (входящий как rtmp) и преобразовать его в воспроизводимый файл / поток HTML5. Я знаю о возможности на приборной панели; или HLS на; но это на самом деле не работает безупречно. (Я должен включить CORS, чтобы эта чертова штука заработала, но потом она все еще заикается)
Вот мои настройки:
avconv:
avconv \
-f video4linux2 -input_format mjpeg -r 10 -s hd720 -i /dev/video0 \
-f video4linux2 -input_format mjpeg -r 10 -s 640x480 -i /dev/video1 \
-vf transpose=cclock -filter_complex \
"[0:v]scale=1280:-1,setpts=PTS-STARTPTS[bg]; \
[1:v]scale=320:-1,transpose=cclock,setpts=PTS-STARTPTS[fg]; \
[bg][fg]overlay=W-w-10:10[out]" \
-map "[out]" -vprofile baseline -vcodec libx264 -preset fast \
-maxrate 3000k -bufsize 6000k -b 500k \
-f flv rtmp://STREAMURL
nginx.conf:
rtmp {
server {
listen 1935;
chunk_size 4096;
application webcam {
live on;
record off;
allow publish a.b.c.d;
deny publish all;
allow play all;
#exec /usr/bin/avconv -loglevel verbose -i rtmp://STREAMURL -vcodec libx264 -vprofile baseline /tmp/out.mp4;
} } }
эта закомментированная строка создает выходной файл, который увеличивается со временем. Это может быть хорошо в некоторой конфигурации, но в текущем потоке 24/7 это не очень хорошее решение, я думаю.
Кто-нибудь получил умную идею или подсказку, как решить мою проблему:- Извлечение потока RTMP, преобразование его в воспроизводимый файл HTML5, который только кэшируется и не сохраняется на жестком диске.