2013-02-17 2 views
2

Я использую приложение WinRT, которое включает потоковое видео. Теперь я закончил в VLC как потоковый сервер и MJPEGDecoder lib (http://mjpeg.codeplex.com/) на клиенте для декодирования видео.VLC и потоковое декодирование MJPEG (недопустимый заголовок)

Но после создания HTTP-потока и подключения к нему от клиента MJPEGDecoder говорит, что заголовок недействителен (он ожидает многопоточный поток). VLC-to-VLC работает нормально.

Вопрос 1: как он может быть исправлен?

Вопрос 2: какие альтернативы для создания потокового видео для WinRT?

ответ

3

Просто подробно рассмотрите свой вопрос/ответ. Опубликованный ответ ссылается только на пример, но не объясняет это, niether делает сам пример. Поэтому я хотел бы завершить этот ответ, если кто-то другой наткнется на него.

Когда вы определили свой поток vlc, который вы забыли поделиться с вашим вопросом, скорее всего, не указали какие-либо параметры из параметра доступа http и установили стандартный модуль vlc. (так же, как я сделал, когда я столкнулся с той же проблемой)

standard{access=http,mux=mpjpeg,dst=<address>:<port>/<path>} 

Вы используете VLC, чтобы создать поток MJPEG доставляется по протоколу HTTP. Благодаря osgx ответ в another question, вот ссылка на wikipedia, описывающая MPJEG over HTTP. В основном:

M-JPEG через HTTP информирует клиент с помощью специального типа пантомимы многокомпонентных/х перемешанных замены с параметром границей = * < границы> *****, что вы будете посылать серию изображений в формате JPEG, разделенных значком <>.

правила, которые применяются к < границы> были изложены в this post по Gumbo и некоторых других руководящих принципов, возможно, теперь устаревающие более новой, определены в RFC2046

Смешанные замененный СМИ типы описаны в википедии article on MIME

В качестве примера, который вы разместили, включено определение mime медиа-контента, передаваемого по HTTP, может быть определено как необязательный параметр с помощью http a определение ccess.

standard{access=http{mime=multipart/x-mixed-replace;boundary=--myboudary},mux=mpjpeg,dst=<address>:<port>/<path>} 
3

Выяснил это. С помощью http://tumblr.martinml.com/post/2108887785/how-to-broadcast-a-mjpeg-stream-from-your-webcam-with

У VLC есть опции для установки типа и границы mime. Пример конфигурации из ссылки

:sout=#transcode{vcodec=MJPG,vb=400,width=640,height=480} 
:duplicate{dst=std{access=http{mime=multipart/x-mixed-replace; 
boundary=--7b3cc56e5f51db803f790dad720ed50a},mux=mpjpeg,dst=:1234/webcam.mjpg}} 
+0

Это достигается тем, что камера VGSion H.264 RTSP работает с ZoneMinder на Ubuntu. Благодаря! –