Как посмотреть rtmp в браузере

Обновлено: 07.07.2024

Видео на сайте
Как организовать потоковое видео на своем сайте или проигрывание mp3 файлов?
Как транслировать онлайн вещания (rtmp потоки), а так же ролики из Youtube?

В этой статье я расскажу как установить на сайте плеер и показывать видео прямо с вашего сайта.
Разговор пойдет только об установке и настройке плеера, а уж как вы будете грузить файлы на свой сайт, это уже другая тема.

Воспроизведение видео на сайте делится на две основных части, трансляция RTMP потока и воспроизведение обычного файла.

1.
RTMP поток. Чаще всего используется для трансляции видео с вебкамер и трансляции телевидения в реальном времени. Иногда используется и для воспроизведения видеофайлов. RTMP канал транслирует информацию со скоростью воспроизведения, поэтому даже при воспроизведении файла его нельзя скачать целиком, можно только записать трансляцию со скоростью воспроизведения.

2.
Потоковое воспроизведение файла.
Обычный стандартный вариант воспроизведения видео. Файл скачивается частями (с вашего сервера или чужого) в буфер и показывается в плеере, то что скачалось.

Вот об этих двух вариантах и расскажу.
Некоторые используют встроенные в систему плееры, и вызывают их с использованием специальной команды, но если кто-то посетит ваш сайт с другой операционной системой, то не увидит уже видео, так как в другой операционке этого плеера может и не быть.
Поэтому я рекомендую использовать плееры JW FLV Media Player или TarantinovFLV.
Будет работать под любой операционной системой и в любом браузере.
Главное, чтобы в браузере был flash и javascript.
Плеер будет загружаться в браузер посетителя с вашего сайта.
JW FLV Media Player способен воспроизводить не только видео, но еще музыку и картинки.
На сайте разработчиков вы найдете всю необходимую информацию на английском, а так же разные версии проигрывателей.

JW FLV Player способен воспроизводить потоковое видео в формате FLV или MP4, а так же RTMP каналы.
FLV достаточно распространный формат для воспроизведения потокового видео в интернете, очень подходит для наших целей.

Воспроизведение видеофайлов.
Как создать FLV.
Для создания flv или MP4, вам потребуется конвертер.
В интернете можно найти большое количество конвертеров, например Total Video Converter.
Очень простой в работе конвертер, открываете любое видео в нем и выбираете в какой формат конвертировать, дальше он все сделает сам.
Если хотите, можете настроить качество конвертируемого видео в настройках.

Итак, видео сконвертировали, теперь скачивайте плеер JW FLV Media Player.
Из всех файлов нужны только player.swf и swfobject.js.
Все остальное можно выбросить.
Загружайте эти два файла и видео куда-то на свой сервер.

Теперь просто втыкаете в нужном месте на странице такой html

<script type="text/javascript" src="https://webi.ru/webi_articles/swfobject.js"></script>
<div >Здесь можно написать что то, если вдруг не будет грузится плеер. Возможно не включен flash в браузере.</div>
<script type="text/javascript">
var so = new SWFObject('player.swf','mpl','400','250','8');
so.addParam('allowfullscreen','true');
so.addParam('flashvars','file=video.flv');
so.write('player');
</script>


Пример локального воспроизведения файла

Здесь можно написать что то, если вдруг не будет грузится плеер. Возможно не включен flash в браузере.
Пример воспроизведения ролика youtube
Здесь можно написать что то, если вдруг не будет грузится плеер. Возможно не включен flash в браузере. Здесь можно написать что то, если вдруг не будет грузится плеер. Возможно не включен flash в браузере.

Если вы все сделали правильно, то вы увидите черное окно плеера, при нажатии на воспроизведение начнет показывать видео.

Разбор этого кода.

<script type="text/javascript" src="https://webi.ru/webi_articles/swfobject.js"></script>
Загрузка вспомогательного класса, который упрощает использование флеш на сайте. Указывайте путь где лежит этот файл.

var so = new SWFObject('player.swf','mpl','400','250','8');
Указываем теперь этому классу где лежит плеер и задаем настройки флеш.

Краткий синтаксис класса SWFObject:

var so = new SWFObject(swf, id, width, height, version, background-color);
swf - Путь к плееру.
id - ID вашего объекта (что угодно можно указать).
width - Ширина плеера.
height - Высота плеера.
version - Требуемая версия флеш.
background-color - Цвет фона.

so.write('player');
Здесь указываем в каком месте загрузить плеер.
В конкретном примере плеер грузится между тегами
<div ></div>

so.addParam('allowfullscreen','true');
Разрешить использовать полноэкранный режим.
Для выключения нужно установить false.

so.addParam('flashvars','file=2x2.sdp&provider=rtmp&streamer=rtmp://213.21.0.16/2x2');
А вот так вызывается RTMP поток. Тут добавлены две переменные provider и streamer. О них ниже.

Переменные плеера JW FLV:

Название Описание Возможные значения
Общие переменные
image Путь к файлу изображения, которое показывается в плеере, когда не идет показ видео(превью для видео)
start( 0 ) С какой секунды начинать воспроизведение
duration( 0 ) Максимальная продолжительность в секундах. Если не указать, воспроизводится до конца.
link Ссылка. Если указать ссылку, то в панели плеера появится значек ссылки, при нажатии откроется указанная страница в браузере.
file Файл для показа в плеере(музыка mp3, изображение или видео). Либо плейлист. Про плейлисты ниже.
provider Указывает, какой тип данных будет обрабатываться. По умолчанию определяет тип по расширению файла, но если плеер не может опознать тип содержимого, можно указать вручную. video - стандартный видео файл FLV / MP4.
sound - музыкальный MP3 файл.
image - JPG/GIF/PNG изображение.
youtube - видео из YouTube.
http - FLV/MP4 видео файл, воспроизводимый в псевдопотоке.
rtmp - воспроизведение RTMP потока.
streamer Указывается RTMP канал для воспроизведения, например
file=2x2.sdp&provider=rtmp&streamer=rtmp://213.21.0.16/2x2
указан файл, тип содержимого и адрес канала
Цвета
backcolor Цвет контрольной панели, на которой находятся кнопочки управления, а так же фон плейлиста.
frontcolor Цвет содержимого контрольной панели(кнопочки, тексты и т.д.), а так же цвет текстов в плейлисте
lightcolor Цвет некоторых элементов, например цвет громкости звука(включенного), цвет строки, показывающей пройденное время ролика после ползунка
screencolor Цвет фона дисплея плеера
Расположение
controlbar ( bottom ) Расположение панели. bottom -снизу
over -наложено на видео и исчезает при воспроизведении
none -нет панели.
playlist ( none ) Расположение плейлиста. bottom -снизу
over -располагается на дисплее, при начале воспроизведения исчезает до остановки видео,
right -справа,
none -нет плейлиста.
playlistsize ( 180 ) Размер плейлиста. Если плейлист расположен справа, то это ширина плейлиста, если плейлист расположен снизу, тогда это высота
skin Путь к скину плеера. не много скинов можно скачать здесь http://www.longtailvideo.com/addons/skins
Действие
autostart ( false ) Автоматическое воспроизведение после загрузки страницы false -нет
true -да
bufferlength ( 1 ) Буферизация перед стартом. Количество секунд, которые нужно скачать перед тем, как начать воспроизведение
displayclick ( play ) Действие, выполняемое при нажатии на дисплей плеера play -воспроизведение/пауза
link -переход по ссылке указанной в параметре link
fullscreen -переход в полноэкранный режим
none -ничего не делать
mute -выключить звук
next -следующий ролик в плейлисте.
icons ( true ) Показывать в центре экрана значек воспризведения и буферизации. true -да
false -нет
item ( 0 ) Номер ролика в плейлисте, который воспроизводится по умолчанию. отсчет начинается с нуля.
logo Картинка-логотип jpg, png или gif. В скине по умолчанию крепится в верхний правый угол, но в разных скинах это расположение может меняться
mute ( false ) Загрузка плеера с изначально выключенным звуком. false -звук включен
true -звук выключен.
quality ( true ) Включает улучшеное качество воспроизведения видео при загрузке. Можно переключать правой кнопкой мыши через меню. true -включено
false -выключено
repeat ( none ) Повтор роликов list -показывает поочереди ролики в плейлисте и остановится при окончании плейлиста.
always -крутит все ролики в плейлисте по кругу без конца.
single -повторяет один ролик по кругу.
none -нет повтора
resizing ( true ) Разрешить изменять размер видео в зависимости от размеров плеера. true -да
false -нет
stretching ( uniform ) Подгоняет размеры видео exactfit -не пропорционально, заполняет весь экран по ширине и высоте.
uniform -пропорционально заполняет экран плеера, показывая всю картинку видео(заполняя большие стороны фоном).
fill -пропорционально заполняет весь экран по минимальным сторонам, уводя часть видео за пределы экрана.
none -не меняет размеры видео.
volume ( 90 ) уровень звука плеера при старте. от 0 до 100
Внешние переменные
abouttext При нажатии правой кнопкой мыши будет виден этот тект, как владельца. Вносить сюда свой текст разрешается только при использовании коммерческой лицензии.
aboutlink Ссылка которая срабатывает при нажатии на тексте abouttext. Тоже менять запрещено без коммерческой лицензии.

А сейчас не много о плейлисте.
Очень удобная вещь.
Можно загрузить не один ролик, а сразу несколько в пределах одного плеера.
Вот пример вывода плеера с плейлистом
so.addParam('flashvars',' file=pl.xml&playlist=right ');
Здесь уже в переменной file указывается не файл с видео, а xml файл плейлиста.

Пример xml файла плейлиста:

Этот плеер понимает много форматов xml, я взял самый понятный и простой.
В данном примере два ролика, можете пихать сюда больше.
Как видите в плейлисте все понятно без лишних комментариев.
Самое главное, кодировка файла должна быть UTF-8.

Как воспроизводить поток RTSP или RTMP в браузере IE

Приведенное выше решение не является невозможным.Если требования к качеству воспроизведения и задержке выше, проще всего загрузить элемент управления activex непосредственно в браузере IE.

На основе существующего SDK в Daniel Live SDK расширен контроль ocx для воспроизведения RTMP или RTSP с низкой задержкой в ​​браузере IE. Мягко говоря, это также могут быть RTMP и RTMP с лучшей поддержкой функций и задержкой в ​​отрасли. RTSP-плеер (поддерживает воспроизведение RTMP / RTSP H.265 (hevc)).

1. Полнофункциональный одноэкранный RTMP поток или воспроизведение RTSP потока:


2. Воспроизведение 4 каналов потока RTMP или потока RTSP одновременно:


Локальная игра

ДЕМО описание

  1. 1_player_ocx.html: отображение функции одного окна.
  2. 4_player_ocx.html: Отображение 4 оконных функций.
  3. SmartPlayer.exe: проигрыватель архитектуры cs.

Перед запуском веб-плеера обязательно зарегистрируйте элемент управления ocx с полномочиями администратора: regplayerocx.bat щелкните правой кнопкой мыши -> «Запуск от имени администратора (A)». Точно так же для антирегистрации также требуется администратор.


Примечание. Управление OCX воспроизведением Daniel Live RTSP / RTMP применимо только к Microsoft Internet Explorer.

Соответствующий интерфейс пакета

Задайте путь хранения журнала:

ULONG CSmartPlayerActiveXCtrl::NT_SetLogPath(LPCTSTR log_path)

Пожалуйста, позвоните перед NT_Open (), пример кода:

Описание интерфейса:

1. ULONG NT_Open();

Откройте экземпляр плеера;
2. ULONG NT_Close();

Закройте экземпляр плеера;
3. ULONG NT_StartPlay();

Начать играть;
4. ULONG NT_StopPlay();

Остановить игру;
5. ULONG NT_SetMute(LONG is_mute);

Установите отключение звука в реальном времени;
6. ULONG NT_SetURL(LPCTSTR url);

Установите URL-адрес RTMP или RTSP для воспроизведения;
7. ULONG NT_SetBuffer(LONG buffer);

Установите время буферизации, время буферизации, единицы измерения: миллисекунды;
8. ULONG NT_SetRTSPTcpMode(LONG isUsingTCP);

Установить режим воспроизведения RTSP TCP / UDP;
9. ULONG NT_SetRtspTimeout(LONG timeout);

Установите время ожидания RTSP;
10. ULONG NT_SetRtspAutoSwitchTcpUdp(LONG is_auto_switch_tcp_udp);

Установите, следует ли автоматически переключать режим TCP / UDP;
11. ULONG NT_SetFastStartup(LONG isFastStartup);

Установите, нужно ли начинать быстро;
12. ULONG NT_SetLowLatencyMode(LONG mode);

Установите, следует ли играть в режиме с низкой задержкой;
13. ULONG NT_SetFlipVertical(LONG is_flip);

Установите режим вертикальной инверсии изображения;
14. ULONG NT_SetFlipHorizontal(LONG is_flip);

Установите горизонтальное обратное изображение;
15. ULONG NT_SetRotation(LONG degress);

Установите вращающееся изображение, угол может быть установлен: 0 градусов, 90 градусов, 180 градусов, 270 градусов;
16. ULONG NT_SwitchURL(LPCTSTR url);

Установите для быстрого переключения URL-адреса RTSP / RTMP;
17. ULONG NT_SetCaptureImagePath(LPCTSTR path);

Установите место для сохранения снимка;
18. ULONG NT_CaptureImage();

Установить функцию моментального снимка в реальном времени;
19. ULONG NT_SetRecorderDirectory(LPCTSTR dir);

Установите место хранения видео;
20. ULONG NT_SetRecorderFileMaxSize(ULONG size);

Установите максимальный размер одного видеофайла, единица измерения: мегабайты;
21. ULONG NT_NT_SP_RecorderFileNameRuler(ULONG type, LPCTSTR file_name_prefix, LONG append_date, LONG append_time);

Установить правила именования видеофайлов: ставить ли префикс, добавлять ли дату, добавлять ли время;
22. ULONG NT_SetRecorderAudioTranscodeAAC(LONG is_transcode);

Установите, следует ли записывать аудиофайлы после преобразования в AAC, поддерживать PCMA / PCMU / SPEEX для записи файлов после преобразования в AAC;
23. ULONG NT_SetRecorderVideo(LONG is_record_video);

Установите, нужно ли записывать видео;
24. ULONG NT_SetRecorderAudio(LONG is_record_audio);

Установите, нужно ли записывать звук;
25. ULONG NT_StartRecorder();

Начать запись
26. ULONG NT_StopRecorder();

Остановить запись
27. ULONG NT_FullScreen();

Показать окно в полноэкранном режиме.

Мероприятие:

1. void OnSDKEventReceived(ULONG event_id, ULONG param1);

Обратный вызов статуса сети, статуса буферизации, скорости загрузки и т. Д .;

Тип события:

Вызов шоу:


2. void OnVideoSizeReceived(ULONG width, ULONG height);

Обратный вызов информации о ширине и высоте видео.

Пример воспроизведения и записи разговора:

Пример быстрого переключения URL-вызова:

Пример отключения звука в реальном времени:

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

Пример вызова скриншотов в реальном времени:

Пример вызова окна полноэкранного отображения:

У меня есть IP-камера, которая обеспечивает прямую и RTSP видео поток. Я могу использовать VLC медиа плеер для просмотра корма, обеспечив его URL-адрес:

Но мне нужно, чтобы отобразить канал на веб-странице. Поставщик камера поставляется элемент управления ActiveX, который у меня работает, но он реально глючит и заставляет браузер часто зависает.

Кто-нибудь знает о каких-либо альтернативных видео-плагинов, которые я мог использовать, которые поддерживают RTSP?

Камера может быть настроена на поток в кодек H264 или MPEG4.

VLC также поставляется с плагин ActiveX, который может отобразить канал в веб-страницу:

Ориентировочно вы можете иметь 3 варианта для отображения протокола RTSP видео поток на веб-странице:

  1. Приложение RealPlayer
  2. QuickTime-плеер
  3. VLC плеер

Вы можете найти код для размещения элемента через поиск Google.

Насколько я знаю, существуют некоторые ограничения для каждого игрока.

Это не легко для отображения потокового видео с IP-камеры на веб-страницу, потому что вам нужен широкополосный интернет и отличный видео-плеер, который совместим с основными браузерами.

Но, к счастью, есть несколько облачных услуг, которые могут сделать эту работу для нас. Одним из лучших является IPCamLive. Эта служба может получать протоколы RTSP/H264 видео потока от IP-камеры и транслировать его зрителям. IPCamLive имеет компонент Flash/HTML5 видео плеер, который будет отображать видео на ПК, Mac, планшета или мобильного. Самое главное, что этот сайт создает необходимый фрагмент HTML для встраивания видео вроде этого:

Поэтому нам нужно просто скопировать и вставить его в наш html-файл без каких-либо изменений.

Если вы хотите, чтобы поток РЦП непосредственно на веб-страницу, то, боюсь, ваш единственный вариант заключается в использовании просмотра элемент управления ActiveX, который поставляется с камерой. Это прямое подключение IP-камеры -> у зрителя, и должно быть быстрым. Не знаю, почему у вас возникли проблемы; оси ActiveX работает очень хорошо для меня.

Однако, эта опция не реально эффективной полосой пропускания, и вы не можете обслуживать несколько одновременных зрителей (большинство IP-камер имеют предел 10 зрителей). Лучшим вариантом является, чтобы загрузить один поток по протоколу RTSP с центральным размещением потокового сервера, который преобразует ваш поток по протоколу RTMP и MPEG-TS и опубликовать его на флеш-плееров/приставок.

Передачи данных Wowza, Erlyvideo, нереальный медиа сервер Red5 ваши варианты.

Также вы можете попробовать с WebRTC с открытым исходным кодом медиа-сервер Kurento

Мы используем на производстве в следующих случаях: в <предварительно>

Новый год всё ближе, хотелось бы устроить новогоднюю видеоконференцию с моими воображаемыми^W друзьями, используя конечно же, опен сорц!

Стримить можно что угодно, любой источник, веб-камера или просто видео. Я взял видео.

На веб-страничку прикрутил HTML5-плеер с реализацией video.js, — никакого богомерзкого Flash! И да, оно даже заработало. Результат вы видите на скриншоте.

По итогам, что потребуется: 1) nginx + nginx-rtmp-module 2) ffmpeg 3) video.js HTML5-плеер 4) любой источник видео, будь то веб-камера или кинцо 5) широкий канал чтобы стримить для большого круга друзей.

А какие инструменты для реализации потокового вещания использовали вы? Что можно сделать правильнее или ещё лучше? Сталкиваюсь с этим первый раз, поэтому возможно что-то сделал не так.



Угадал ТС по первому предложению (ссылку не смотрел).

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

А ну-ка, поподробней! Неужели html5 научился играть потоковое видео? Если да, то ведь мне не нужно будет больше велосипедить с идиотскими mjpeg'ами и вебсокетами! Можно будет сразу стримить видео, да еще и сжимать налету.

Давай ссылку на инструкцию! Правда, nginx мне не нравится своей ограниченностью, я апачем пользуюсь. Но в некоторых случаях можно и nginx запилить. Только скажи мне, как это сделать. 1111


вся остальная инструкция уже вся написана в первом посте.

Видео в поддерживаемом формате и типе MIME не найдено


УМВР, последний Firefox 42.

HLS это типа популярный стандарт для стриминга у Apple, работает на всех устройствах Apple и судя по гуглу на Android тоже.

Для обратной совместимости можно использовать флеш. Но только для совместимости. HTML5 уже готов.


А мне вообще предлагают флеш включить ))


Спасибо за тему. Мне пригодится. Руки не доходили самому разобраться с этим делом.

УМННР, последний firefox 38.4.0.

Ты сменил ориентацию?

У меня быдлофлеши в огнелисе нет (т.к. огнелис — мой основной браузер, не хватало еще, чтобы какой-нибудь гад у меня пароли с paypal стырил), так что и не предлагает. Даже скрипты временно разрешил: висят какие-то менюшки, но нифига не работает, окромя фулскрина. Видео не кажет.


и какая программа передач ожидается на канале Спфнг-Новогодний? :)


УМВР, Firefox 41

В хромоногой быдлоподелке какой-то идиотский мультик начало было показывать. Щелкнул паузу и настройки фона, ничего не изменилось (фон так и остался белый), а идиотский мультик больше запустить не получилось.


У меня в ФФ работает.

Да я уже понял, что это — мухлеж. Та же фигня, что и mjpeg.


На андроиде в браузере будет работать с проблемами, а то и вообще не будет. Ну как минимум нужен кодек h264 с baseline profile.



На андрюхе хромой 47.что-то-там работает. А фраерфокс 43.0b10 нет.


Делал на всем, на этом хлс(он не риалтайм - минус), на webrtc(самый верный способ для небольших приватных конференций и сервера не нужно), на rtmp - пожалуй самый удачный способ real-time трансляции через сервер, но нужен флэш, это единственный минус и плюс одновременно


Я использовал FMS в далеком 2004м. Всё работало отлично. Писал сам плеер. Аудио и видео было по udp rtmp протоколу от адоби. Сейчас бы я не стал этим всем заморачиваться ради 3-х человек. Проще по скайпу или перископу потрепаться.


С этой же связкой как-то тестировал плеер THEOplayer от OpenTelly - очень понравилось. HLS поток игрался одинакого хорошо на всех доступных мне ОС (Ubuntu, Blackberry, Android, OS X, iOS, Windows) во всех доступных браузерах.

Ага, т.е. ТС врет и нужен быдлофлешь?


Hls работает только на иос и андроиде, к тому же он не realtime

Фигово. Интересно, когда же нацонец-то браузеры научатся в html5 показывать видеотрансляции? Доколе будет этот цирк с mjpeg продолжаться?


Но там нужен флеш, да.


Рекомендую: не создавай.


В большинстве случаев задержка в пять секунд устраивает, так что можно HLS + плеер на HTML5 video+MSE.

Для моих приложений нужно максимум 100мс! 5с — слишком дофига!


У кого чешется, тот и чешет.


Умеют уже давно по webrtc(sip), только вот по серверная часть хромает, поэтому пока везде флэш и rtmp, а на мобилках hls


Какие приложения у вас, если не секрет? В чем webrtc не устраивает?

Откуды вы беретесь? Я думал таким только школьницы балуются.

Тупо нужна трансляция видео реального времени (сотня миллисекунд рассинхронизации сгодится). Видео снимается с камеры, обрабатывается и выплевывается.

Пока что только 2 рабочих варианта: (медленный) на вебсокетах и (относительно быстрый) на мджпегах.


Не вижу связи между видеоконференцией и потоковым вещанием. Это вообще разные схемы распределения и обработки данных. Для видеоконференций можно VoIP-решения заюзать (сам тестил только экспериментальную ветку в FreeSWITCH почти год назад), либо webrtc-решения.

А тут какое-то HLS, nginx-rtmp-module, ffmpeg.


Ну да, школьницы и шлюхи у нас в наличии.


С камеры в веб? Что за камера, какие требования к вещанию?

Обычная ПЗС-видеокамера с ЭОПом (иногда, когда денег дофига, применяется EM-CCD). Частота кадров: от 1 за

5 в секунду (смотря какая яркость у звезд фона). Выполняется предварительная обработка (обычное улучшение картинки + вычисление смещения относительно предыдущего кадра), в shm кладется значение смещения, а по запросу через сокет отдается картинка (по запросу — чтобы обеспечить псевдореальное время).

Все элементарно. Т.е. один демон занимается получением и обработкой изображений, он же выплевывает эти жопеги для веб-клиентов. Другой демон управляет локальным корректором по этим смещениям из shm (либо можно через сокеты данные получать, пофиг).


А что не устраивает слайды смотреть? Как я вижу решение задачи с вещанием: твой демон подает на вход ffmpeg жпеги, а на выходе получаем rtmp поток, который идет на nginx. На клиенте нужен простецкий плеер на флэше. Если хочешь все чинно по html5, есть вариант с kurento, websocket и webrtc - это посложнее будет, зато работать будет во всех браузерах, на мобилках и без флеш

вариант с kurento, websocket и webrtc


Причем тут вебсокеты? На них реализован только сигнальный сервер, трафик идет фактически по SIP

Это как раз и есть сервер, с которого будет раздаваться транса, он умеет протокол webrtc

Вебртц годится только для трансляции с вебкамер напрямую

Нет не так, смотри выше

Я делал и передачу кадров через вебсокеты.

А что, какие-то камеры выдают что-то кроме картинок? Ну, а для уменьшения трафика можно было бы хоть mpeg'ом жать ряд картинок, скажем, с запозданием на 100мс (понятно, это имеет смысл лишь если скорость выше 10fps, что бывает крайне редко).


Камера умеет работать с вебсокетами? Она программируемая? Например ип-камеры некоторые поддерживают rtp

При чем здесь камера? С камеры кадры забираются демоном, использующим ffmpeg (раньше я напрямую v4l2 юзал, но задолбался перепиливать под новые модели).

В любом случае, прежде чем кадр отдать на веб-морду, он обрабатывается: фильтрация (медианная, вейвлетами или еще как), улучшение краев, эквализация или подгонка гистограммы. Заодно из этого кадра вычисляются смещения, чтобы автогид правильно отрабатывал.

Кому нафиг может понадобиться тупо необработанное видео с камеры пинать в веб?


Я не могу понять какая связь между mjpeg c 5 кадрами в сек и realtime вещанием? Зачем тебе на камере, которая максимум может 5fps, делать трансляцию? Оставь как есть, смотри слайды. Или я чего то недопонял.

Камера может до 30fps, но выхлоп зависит от освещенности. Если ярче какой-нибудь 20 звездной величины ничего в поле нет, нужно поднакопить в течение несколько большего времени.

Вот и смотрю, пока нет никаких реальных возможностей для нормального real-time видео в хытымле5.

Читайте также: