BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Пускане на видео стрим.
thrawn
Публикувано на: 18-12-2017, 17:16
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1795
Регистриран на: 17.01.17



Предложете нещо за пускане на видео стрим от java. Играя си с една идея - кепчър на видео от web камера и добавяне на субтитри (opencv). Обаче нещо не виждам как да стримна отново редактираните кадри.
PMEmail Poster
Top
stewie
Публикувано на: 18-12-2017, 22:36
Quote Post



Име: Голям Черен Негър
Група: Форумен член
Ранг: Почетен член

Мнения: 4129
Регистриран на: 14.07.16



Ако имаш лайв стрийм от някакъв източник или просто някакво видео и искаш да го броудкастваш примерно с HLS или MPEG-DASH протокол, пробвай wowza media server. Има много модули, които може да модифицираш и да си играеш. Изцяло писан на джава. Смятай аз като заклет .нетаджия съм превключвал на джава за да пиша допълнителни модули за него на джава. Проблема му е, че е платен.
PM
Top
thrawn
Публикувано на: 19-12-2017, 08:54
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1795
Регистриран на: 17.01.17



Имам отделните кадри (25 fps) които мога да ги запиша във видео файл, или директно да ги показвам. Искам обаче да мога да ги стримвам в някакъв стандартен формат (иначе, не виждам проблем, да ги сериализирам по мрежата директно, може би с gzip компресия).

Та си мисля, за външен стриим сървър и fifo файл като буфер.
PMEmail Poster
Top
Lachezar
Публикувано на: 19-12-2017, 12:07
Quote Post



Име: Лъчезар Добрев
Група: Потребител
Ранг: Почетен член

Мнения: 2681
Регистриран на: 10.11.04



QUOTE (thrawn @ 19-12-2017, 08:54)
Имам отделните кадри (25 fps) които мога да ги запиша във видео файл, или директно да ги показвам. Искам обаче да мога да ги стримвам в някакъв стандартен формат (иначе, не виждам проблем, да ги сериализирам по мрежата директно, може би с gzip компресия).

Та си мисля, за външен стриим сървър и fifo файл като буфер.

http://jcodec.org/

Обаче да правиш видео с Java не е много разумно.
Най-често тези неща се правят с някакъв native компонент, който използва специализиран хардуер за видео обработката. Ако смяташ да минеш с gzip се откажи, видео кадрите рядко се компресират нормално с gzip, най-вече защото gzip е предвиден за поточни данни (1-размерен), а видео потоците са 3-мерни (последователност от двумерни кадри). Освен това скоростта на некомпресиран цветен VGA източник с 25 кадъра в секунда е 640x480x3x25 е 22 MB/s или 176 Mbps, което е безумие!

Моят съвет е да потърсиш вариант да използваш външно приложение за декодиране на потока. Или нещо като https://github.com/bytedeco/javacpp-presets...e/master/ffmpeg, което е фасада към ffmpeg.


--------------------
И'м ватцхинг ъоу...
PMUsers Website
Top
thrawn
Публикувано на: 19-12-2017, 12:33
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1795
Регистриран на: 17.01.17



Декодирането го правя с opencv (то си ползва native backend). Върху отделните кадри рисувам субтитрите и нещата работят добре (ако извеждам видеото директно на мониторът). Ама целта ми е, това видео да го пусна на DVR който да го запише.

То има DVR-и с такава функционалност, но така ставам зависим от конкретен модел DVR и конкретен протокол за подаване на субтитри. Затова искам да направя някакво хибритно решение със сървиз между камерата и произволен DVR.

Иначе, броя на кадрите мога да го променя по всяко време. 25 ми е просто за тест, че се получава много добра картина така.
PMEmail Poster
Top
Lachezar
Публикувано на: 19-12-2017, 15:01
Quote Post



Име: Лъчезар Добрев
Група: Потребител
Ранг: Почетен член

Мнения: 2681
Регистриран на: 10.11.04



Хм. Дали не трябва да се загледаш за video multiplexing?
Т.е. да генерираш поток само със субтитрите, и да го сливаш с потока от видео?
https://stackoverflow.com/questions/8672809...titles#17584272
https://trac.ffmpeg.org/wiki/HowToBurnSubti...-basedsubtitles

Това мнение е било редактирано от Lachezar на 19-12-2017, 15:03


--------------------
И'м ватцхинг ъоу...
PMUsers Website
Top
thrawn
Публикувано на: 19-12-2017, 15:09
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1795
Регистриран на: 17.01.17



И аз не знам какво ми трябва icon_smile.gif
Става дума за поток от охранителна камера а субтитрите са операциите които се извършват на POS системата на обекта. Това което даваш касае вграждане на субтитри с предварително известен таиминг. Не знам до колко е приложимо в моя случай.
PMEmail Poster
Top
ProXy
Публикувано на: 19-12-2017, 15:55
Quote Post



Име: Йордан Иванов
Група: Потребител
Ранг: Почетен член

Мнения: 1608
Регистриран на: 25.01.10



Субтитрите как смяташ да се генерират? Разпознаване на реч?


--------------------
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

https://ivanovyordan.com/
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 19-12-2017, 15:59
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1795
Регистриран на: 17.01.17



Не, те трябва да дублират операциите на POS системата. Демек, това което виждаш на клиентския дисплей когато си купуваш нещо в магазин трябва да излиза като субтитри на записът от охранителната камера която снима съответното работно място.
PMEmail Poster
Top
ProXy
Публикувано на: 19-12-2017, 16:07
Quote Post



Име: Йордан Иванов
Група: Потребител
Ранг: Почетен член

Мнения: 1608
Регистриран на: 25.01.10



Добре, може би аз бих направил това:
* Не ползвам никаквъ медиа сървър
* Записвам HLS чънкове (няколко секунди-минута) на nginx сървър
* Знаейки колко време е минало за съответният чънк си генерирам файл със субтитри за него
* На всеки няколко (1-2-3) минути генерирам нов манифест със последно генерираните чънкове.
* Ползвам Video.js или нещо такова

Повече информация за манифетите: http://hlsbook.net/how-to-add-subtitles-to...ive-hls-stream/

Edit: Защо предпочитам HLS? Плейва се на телефони.

Това мнение е било редактирано от ProXy на 19-12-2017, 16:08


--------------------
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

https://ivanovyordan.com/
PMEmail PosterUsers Website
Top
0 потребители преглеждат тази тема в момента (0 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0