LINUX.ORG.RU

Показ stream-видео на веб-странице

 , ,


2

4

Как лучше всего организовать показ видеопотока (декодируемого отдельными фреймами в JPEG) на веб-странице? Без всяких этих новомодных штучек вроде Adobe Flash и HTML5. Хотя если в HTML5 можно организовать показ сырого видеопотока H264 (безо всяких там контейнеров), буду рад услышать как. У меня не получилось. Аудиопотоков нет.

Без всяких этих новомодных штучек вроде Adobe Flash и HTML5

Flash уже настолько не новомодный, что его старательно (но пока безуспешно) закапывают не первый год.

KRoN73 ★★★★★
()
<img src="http://localhost:8080/xxx.mjpeg" alt="MJPEG"/>

Так вроде работает. Но все же хотелось бы нормальное видео, а не mjpeg.

lolipop
() автор топика

Как я понимаю, для превращения потока в контейнер MP4 достаточно присобачить спереди заголовок (поправьте, если не так). То есть вопрос в формате этого заголовка.

lolipop
() автор топика

были ж всякие <object> и <embed>, помнится даже у многих линуксовых проигрывателей были плагины для браузеров, чтобы играть вставленное таким образом видео. уверен что это работает и сейчас.

Komintern ★★★★★
()
Последнее исправление: Komintern (всего исправлений: 1)
Ответ на: комментарий от lolipop

javascript-декодер и плеер h264

ага хотя даже сишные кодеки и то наполовину из ассемблерных вставок состоят и 4k топовые процы еле тянут

anonymous
()
Ответ на: комментарий от lolipop

для превращения потока в контейнер MP4 достаточно присобачить спереди заголовок

Не распрарсил. MP4 — это контейнер, в который можно запаковать все что угодно. Внутри он состоит из последовательности вложенных друг в друга (или самостоятельных) атомов, у которых емнип длина 4 байта, идентификатор 4 байта ну и само тело.

Подробнее можешь посмотреть тут https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFPref...

Перегнать mjpeg в более удобный формат можно ффмпегом или влц.

ymn ★★★★★
()

html5, vlc web plugin?

anonymous
()

MPEG-DASH вроде как сейчас форсируется для этого дела

makoven ★★★★★
()

Использую два варианта: вебсокеты (долго, от силы 7 кадров в секунду для 640x480 получается) и обновление <img> через жабоскрипт (было до 17 кадров в секунду на тех же размерах). У меня на гитхабе или сосфорже смотри astrovideoguide_v2 и rasp-spect.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Komintern

Увы, мне надо играть поток, а не файл. С потоками это не работает. Браузер делает запросы с Accept-Range и читает куски из разных мест файла.

lolipop
() автор топика
Ответ на: комментарий от lolipop

Ага: линкуется, поток преобразовывается в картинки и отправляется. А какие преимущества такого подхода перед MJPEG?

lolipop
() автор топика
Ответ на: комментарий от Eddy_Em

Использую два варианта: вебсокеты (долго, от силы 7 кадров в секунду для 640x480 получается) и обновление <img> через жабоскрипт (было до 17 кадров в секунду на тех же размерах).

Мда. А я-то надеялся хотя бы 15 fps для 1280x720 добиться.

lolipop
() автор топика
Ответ на: комментарий от lolipop

Впрочем, можно попробовать WebGL - говорят, помогает.

lolipop
() автор топика
Ответ на: комментарий от lolipop

Как раз через ffmpeg и сделал. Раньше работал напрямую с v4l2 и имел кучу гемора при смене камер. Сейчас всей грязной работой ffmpeg занимается; libjpeg и libpng (по выбору, хотя обычно png тяжелей чем jpg) занимаются кодированием кадров.

А какие преимущества такого подхода перед MJPEG?

Раньше я делал mjpeg, браузеры текли. Сейчас никакой «течки» нет.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от lolipop

А я-то надеялся хотя бы 15 fps для 1280x720 добиться.

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

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.