Здравствуйте.
Хотел решить проблему наскоком, но, увы, не вышло.
Опишу ситуацию: дома имеется серверок, к нему подключена пара веб-камер, через которые я наблюдаю за состоянием котиков с работы. Обычно использую vnc, через который банально открываю virtualdub.
Но так как вот-вот грядет установка камер на управляемые платформы и допиливание ик+обычной подсветки хотелось бы стримить просто на страничку на моем айпи, к коей можно было-бы в последствии прикрутить управление сервами и светом.
Хотелось бы обойтись без бутербродов в виде внешних сервисов и кучи программ.
Машины на windows.
Я со стримингом никогда не сталкивался, поэтому прошу Вашей помощи.
Попробовал как Вы написали стримить в rtmp: ffmpeg -f dshow -i video=«Logitech HD Webcam C270» -r 20 -s 640x360 -vcodec libx264 -b 900k -f flv rtmp://127.0.0.1:7777
Программа валится с вот такой ошибкой:
[dshow @ 00000000006cffe0] Estimating duration from bitrate, this may be inaccurate
Input #0, dshow, from 'video=Logitech HD Webcam C270':
Duration: N/A, start: 417557.386000, bitrate: N/A
Stream #0:0: Video: rawvideo, bgr24, 640x480, 30 tbr, 10000k tbn, 30 tbc
Please use -b:a or -b:v, -b is ambiguous
No application or playpath in URL!
[dshow @ 00000000006cffe0] real-time buffer 90% full! frame dropped!
Если поробовать так: ffmpeg -f dshow -i video=«Logitech HD Webcam C270» -r 20 -s 640x360 -vcodec libx264 -b 900k -f mpegts udp://127.0.0.1:7777 (модифицированный пример из доков)
то все запускается и работает. Но чем в таком случае просмотреть видео на страничке?
Спасибо.
Можно попробывать запустить вебкамеру через влц, а на сайте или вставить адресс трансляции в обычный медиа плеер виндоус, либо поразбираться с плеерами на HTML5. www.dejurka.ru/flash/11-html5-video-players/
вместо -b можно попробовать -b:v. А вообще я понял проблему. Вам на вашем сервере по идее еще RTMP сервер нужен, ну хотя бы Red5 — он бесплатный. Поэтому ffmpeg ругается — он стримт на сервер и не находит приложения. А дальше, зная IP сервера вы можете загрузить flash с вашим стримом. Настройка Red5 проста довольно. В качестве сервера можно использовать и Flash Media Server, но он платный. Если стоит Lunux, то можно поднять ffserver тут написано как это сделать — habrahabr.ru/post/78677/
Тогда в вашем случае можно будет написать, например так: ffmpeg -f dshow -i video=«Logitech HD Webcam C270» -r 20 -s 640x360 -vcodec libx264 -b 900k 127.0.0.1:8090/feed.ffm
Спасибо за ответ
Дома у меня стоит виндоус, отсюда и проблемы. Я смотрел в торону ffserver — хотел его поднять на работе, но опять же получается бутерброд :) Сейчас попробую поставить Red5.
Подскажите еще: в каком случае для просмотра можно использовать просто <img src='http://localhost:7777'>, и чем можно приниать поток с mpegts, как в приведенном мною примере?