VLC: встраивание в HTML (проблемы с InternetExplorer)

Модератор: Модераторы разделов

IMB
Сообщения: 2567
ОС: Debian

VLC: встраивание в HTML

Сообщение IMB »

Доброго дня!
Есть html страница на которую выводится видео, просмотр осуществляется с помощью VLC.
HTML-страница

Код: Выделить всё

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv = "Content-Type" content = "text/html; charset = utf-8">
    <script type = "text/javascript" src = "js/jquery-1.4.2.min.js"></script>
    <script type = "text/javascript" src = "js/livevideo.js"></script>
</head>
<body>
    <h1>Live Video</h1>
    <div id = "video"></div>
    <br>
    <div id = "control">
        <input type = "button" value = "Play" id = "play">
        <input type = "button" value = "Stop" id = "stop">
        <input type = "button" value = "Pause" id = "pause">
    </div>
</body>
</html>

livevideo.js

Код: Выделить всё

$(function(){
    if ($.browser.msie) {
        $('#video').html('<object ' +
                         'type="application/x-vlc-plugin" ' +
                         'pluginspage = "http://www.videolan.org" ' +
                         'version = "VideoLAN.VLCPlugin.2" ' +
                         'classid = ' +
                         '"clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" ' +
                         'codebase = ' +
                         '"http://downloads.videolan.org/pub/videolan/vlc/' +
                         'latest/win32/axvlc.cab" ' +
                         'width = "100%" height = "100%" ' +
                         'events = "True" id = "vlc"></object>');
    } else if ($.browser.mozilla || $.browser.safari) {
        $('#video').html('<embed type = "application/x-vlc-plugin" ' +
                         'pluginspage = "http://www.videolan.org" ' +
                         'version = "VideoLAN.VLCPlugin.2" ' +
                         'width = "100%" height = "100%" ' +
                         'id = "vlc"></embed>');
    } else {
        $('#video').
            html('Only Mozilla Firefox and Internet Expolrer supported!');
    }

    $('#video').css('width', '640px').css('height', '480px');
    var vlc = $('#vlc')[0];
    var id = vlc.playlist.add('rtsp://' + window.location.hostname + '/jpeg');
    vlc.playlist.playItem(id);
    $('#play').bind('click', function(){vlc.playlist.play();});
    $('#stop').bind('click', function(){vlc.playlist.stop();});
    $('#pause').bind('click', function(){vlc.playlist.togglePause();});
});

Всё замечательно в Firefox и GoogleChrome, но не в IE.
В InternetExplorer, проверяю в версии 8, нет видео - почему то не встраивается код <object>, условие по проверке типа броузера точно срабатывавает.
В тоже время, если я внесу код <object> непосредственно в html-файл видео появляется.
Как можно решить эту проблему?
Спасибо.

Update
Попробовал пойти от обратного - встроил в страницу оба объекта и пробую в зависимости от броузера удалить ненужный. В FireFox сработало, в IE появилось видео, но блок для FireFox не удалился.
Спасибо сказали:
Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

Re: VLC: встраивание в HTML

Сообщение gcc »

коротко: используй лучше flash...
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: VLC: встраивание в HTML

Сообщение eddy »

gcc писал(а):
03.08.2010 00:17
коротко: используй лучше flash...

Неправильный ответ. Правильный: использовать html5 и навеки забыть про недобраузеры.

Кстати, насчет
IMB писал(а):
02.08.2010 13:41
html('Only Mozilla Firefox and Internet Expolrer supported!');

вы бы лучше писали, что для того, чтобы запустить ролик, нужно сначала установить этот самый VLC. А он есть далеко не у всех. Используйте лучше "нативные" функции браузеров, т.е. тег <video>. А кнопочки красивые вы и к нему прикрутить сможете.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

Re: VLC: встраивание в HTML

Сообщение gcc »

eddy писал(а):
03.08.2010 00:48
Неправильный ответ. Правильный: использовать html5 и навеки забыть про недобраузеры.


"забыть про недобраузеры" - сам себе предлагаешь?

сам ты неправильный ответ
vm flash работает почти везде и на платформах win,linux (правда не на всех моб. устройствах)
flash - эта стандарт, в любом браузере должно работать с ним, за стнандартом следит adobe


на счет HTML5:
youtube почему не использует сейчас на своих страницах?
HTML5 - он сейчас слабый еще...
нормальное качество H.264 или VP8 на многих современных браузерах не работает совсем или частично работает, отлично??
тут
видео H.264 намного лучше проигрывает через vm, не грузит CPU клиента под 99%

почему другие видео и мультимедиа сервисы не используют HTML5?

перечисли на каких браузерах и их версиях (сборки) ты тестировал (win,linux,etc) html5, и как оно работало?
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: VLC: встраивание в HTML

Сообщение watashiwa_daredeska »

gcc писал(а):
03.08.2010 01:19
flash - эта стандарт
ISO? ANSI? ГОСТ?

gcc писал(а):
03.08.2010 01:19
на платформах win,linux
На Linux 64 bit, считайте, нету. Есть только одна сплошная дырка.

gcc писал(а):
03.08.2010 01:19
youtube почему не использует сейчас на своих страницах?
http://youtube.com/html5

gcc писал(а):
03.08.2010 01:19
H.264 или VP8 на многих современных браузерах не работает совсем или частично работает
На многих современных браузерах работает. IE к таким не относится -- факт. Ни к современным, ни к браузерам.
Спасибо сказали:
Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

Re: VLC: встраивание в HTML

Сообщение gcc »

а кто его использует? покажите мне сайт?

все таки html5 считается на сегоднящний день еще не очень:
http://habrahabr.ru/blogs/Flash_Platform/97915/

(flash на моб.устр не работает, тут возможно лучше html5)

youtube позволяет вставить свой ролик в теги html5...
а где я тут могу посмотреть http://www.youtube.com/watch?v=jQ_ExkfcBao...eature=featured в html??
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: VLC: встраивание в HTML

Сообщение IMB »

Касательно HTML5, flash и VLC - это интерфейс к IP-камере которая транслирует видео по RTSP-потоку. Поэтому для его просмотра и использую VLC, в IE позже встрою CAB, для других броузеров буду выводить сообщение о необходимости установить VLC.

Всё же относительно первоначального вопроса - как победить IE?

Update
Временно решил, но это решение не кажется мне удачным.
livevideo.html

Код: Выделить всё

...................................
<div id = "video">
        <!--[if IE]>
            <object type="application/x-vlc-plugin"
                    pluginspage = "http://www.videolan.org"
                    version = "VideoLAN.VLCPlugin.2"
                    classid = "clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
                    codebase = "http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab"
                    width = "640px" height = "480px" events = "True" id = "vlc"></object>
        <![endif]-->
    </div>
........................

Из замеченых минусов, скорее всего также связано с IE, невозможно выставить размеры <div> через манипулирование CSS-свойствами, пришлось "зашить" размеры в <object>.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: VLC: встраивание в HTML

Сообщение eddy »

IMB писал(а):
03.08.2010 08:53
Поэтому для его просмотра и использую VLC

Так почему не mplayer или вообще возможности самого браузера? Кстати, если вы будете транслировать видео как mjpeg-поток, даже поганый IE сможет его показывать безо всяких проблем.
gcc писал(а):
03.08.2010 01:19
HTML5 - он сейчас слабый еще...

Он нормальный. Просто поддерживается по-человечески только оперой. А насчет флеша: я бы на месте провайдеров резал его на прокси, нечего всякую заразу в сеть пускать. Если в какой-то технологии полным-полно проприетарных дыр, нужно такую технологию закопать поглубже.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: VLC: встраивание в HTML

Сообщение IMB »

eddy писал(а):
03.08.2010 09:29
IMB писал(а):
03.08.2010 08:53
Поэтому для его просмотра и использую VLC

Так почему не mplayer или вообще возможности самого браузера? Кстати, если вы будете транслировать видео как mjpeg-поток, даже поганый IE сможет его показывать безо всяких проблем.

Сейчас транслируется MJPEG, но это временно, основными потоками будут H264 и MPEG4, всё это будет идти по RTSP.
Если Вас не затруднит, не могли бы Вы привести ссылки на техническую реализацию предложенного варианта или привести пример?
И давайте не будем забывать о самой "лучшей" и распространёной ОС, всё же большая часть потребителей пользуется MicrosoftWindows и InternetExplorer-ом.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: VLC: встраивание в HTML

Сообщение eddy »

IMB писал(а):
03.08.2010 09:40
Если Вас не затруднит, не могли бы Вы привести ссылки на техническую реализацию предложенного варианта или привести пример?

Реализация простая: видео выводится в тег <img>, но как mjpeg-поток (т.е. последовательность jpeg-картинок, разделенных boundary с content-type multipart/x-mixed-replace. Сам так делаю, потому что это еще и самый простой способ отображения видео на веб-странице (использовал в интерфейсе управления).
IMB писал(а):
03.08.2010 09:40
И давайте не будем забывать о самой "лучшей" и распространёной ОС, всё же большая часть потребителей пользуется MicrosoftWindows и InternetExplorer-ом.

Я о ней с удовольствием забываю. И код становится в 2 раза короче :)
Просто добавляю предупреждение: "Если что-то на этой веб-странице отображается у вас неверно, обновите браузер" :)
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: VLC: встраивание в HTML

Сообщение IMB »

eddy писал(а):
03.08.2010 09:54
Реализация простая: видео выводится в тег <img>, но как mjpeg-поток (т.е. последовательность jpeg-картинок, разделенных boundary с content-type multipart/x-mixed-replace. Сам так делаю, потому что это еще и самый простой способ отображения видео на веб-странице (использовал в интерфейсе управления).

Хорошо, а откуда Вы берёте поток? Если из файла, то мне это не подходит.
P.S. Эх, ещё бы и пример кода...
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: VLC: встраивание в HTML

Сообщение eddy »

IMB писал(а):
03.08.2010 10:46
eddy писал(а):
03.08.2010 09:54
Реализация простая: видео выводится в тег <img>, но как mjpeg-поток (т.е. последовательность jpeg-картинок, разделенных boundary с content-type multipart/x-mixed-replace. Сам так делаю, потому что это еще и самый простой способ отображения видео на веб-странице (использовал в интерфейсе управления).

Хорошо, а откуда Вы берёте поток? Если из файла, то мне это не подходит.
P.S. Эх, ещё бы и пример кода...

Поток беру с видеокамеры. Функции формирования потока, функции работы с v4l2.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: VLC: встраивание в HTML

Сообщение fergios »

object убрали . теперь его нет в поддержке.
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: VLC: встраивание в HTML

Сообщение IMB »

fergios писал(а):
03.08.2010 13:34
object убрали . теперь его нет в поддержке.

Убрали из стандарта HTML?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: VLC: встраивание в HTML

Сообщение eddy »

IMB писал(а):
03.08.2010 13:52
fergios писал(а):
03.08.2010 13:34
object убрали . теперь его нет в поддержке.

Убрали из стандарта HTML?

Ниоткуда его не убирали
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
IMB
Сообщения: 2567
ОС: Debian

Re: VLC: встраивание в HTML

Сообщение IMB »

Вернулся снова к этому вопросу.
eddy, по Вашему совету попробовал использовать <video>. Увы, у меня не заработало и насколько мне удалось найти информации, на данный момент поддерживается, да и то достаточно ограничено, только RTP, RTSP не поддерживается. А мне необходимо забирать поток именно по RTSP. Дополнительно к этому я ограничен используемым кодеком - поток идёт в H264, который <video> понимает также далеко не во всех броузерах.
Спасибо сказали: