Приветствую, коллеги.
Есть камера D-Link DCS-2230, которая отдает поток rtsp со звуком. Нужно стримить его на сайт, который на битриксе с плагином Windows Media Player.
avprobe говорит, что форматы потока такие:
Stream #0.0: Video: mjpeg, 1k tbr, 90k tbn, 90k tbc
Stream #0.1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
На сайт (плагину) отдавать, желательно, видео в WMV1 и аудио в mpga по mms.
Сейчас пробую побороть avconv + avserver, но пока не очень успешно.
Пока гоняю такую конфигурацию (тест):
/etc/avserver.conf
Port 8080
BindAddress 0.0.0.0
MaxClients 200
MaxBandwidth 20000
CustomLog /var/log/avserver.log
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 3M
ACL allow 127.0.0.1
ACL allow 10.1.129.18
ACL allow 10.1.1.131
</Feed>
<Stream test1.mpg>
Feed feed1.ffm
Format mpeg
AudioBitRate 128
AudioChannels 1
AudioSampleRate 16000
VideoSize hd720
VideoQMin 1
VideoQMax 5
Preroll 2
</Stream>
# avserver && avconv -f rtsp -i rtsp://10.1.1.36:554/live1.sdp \
-acodec copy -vcodec copy http://10.1.1.131:8080/feed1.ffm
Input #0, rtsp, from 'rtsp://10.1.1.36:554/live1.sdp':
Metadata:
title : RTSP/RTP stream 1 from cab253
comment : live1.sdp with v2.0
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0.0: Video: mjpeg, 15k tbr, 90k tbn, 90k tbc
Stream #0.1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
Output #0, ffm, to 'http://10.1.1.131:8080/feed1.ffm':
Metadata:
title : RTSP/RTP stream 1 from cab253
comment : live1.sdp with v2.0
encoder : Lavf53.21.1
Stream #0.0: Audio: pcm_mulaw, 8000 Hz, 1 channels, 64 kb/s
Stream mapping:
Stream #0:1 -> #0:0 (copy)
Press ctrl-c to stop encoding
^Csize= 240kB time=29.31 bitrate= 67.1kbits/s
video:0kB audio:229kB global headers:0kB muxing overhead 4.803493%
Как видно стриминг пошел... Но на выходе пустота... avconv ругается, что mjpeg не поддерживается
[mjpeg @ 0x1061be0] Found EOI before any SOF, ignoring
[mjpeg @ 0x1061be0] No JPEG data found in image
[mjpeg @ 0x1061be0] mjpeg: unsupported coding type (ca)
[mjpeg @ 0x1061be0] [IMGUTILS @ 0x7fff17eef1b0] Picture size 46022x42308 is invalid
так и не понял... Как эту поддержку реализовать?
Пробовал так же через поток mpeg4, то же самое... Ругани нет, но на выходе пустота.
Stream #0.0: Video: mpeg4 (Simple Profile), yuv420p, 480x270 [PAR 1:1 DAR 16:9], 1k tbr, 90k tbn, 30k tbc
Stream #0.1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
Для проверки со своего компа пытаюсь смотреть поток через VLC, просто пустой экран... Если же VLC подключаюсь к камере, то картинка есть.
Чем можно реализовать описанную выше схему? Очень желательно на OpenSource, без java и xserver (vlc стримит, но он требует иксов).
Так и не понял, может ли avconv в названных форматах принимать (rtsp/mjpeg)/отдавать (mms/wmv1) потоки?