@warezzzok
Эникей :(

Как сделать вывод потокового видео в приложении?

Добрый день.
Собираю вайфай-робота с камерой. В принципе, все стандартно до безобразия на основе tp-link wr703n + OpenWrt, однако, хочу сделать клиентское приложение, через которое будет все это добро управляться.
В данный момент, я уже накатал клиент с кнопочками на wxPython, который рулит серверной частью на самом роботе, теперь хочу туда же прикрутить что-то типа плеера - окошко в которое будет транслироваться видеопоток mjpeg-stream.
Все такие "вайфай-машинки" обычно рулятся через вебинтерфейс и там же есть кнопки управления. Мне это не нравится. Более того, управлять планирую в итоге с телефона\кпк не экранными кнопками, а физическими, а экран хочу оставить для видео.
Можно, конечно отдельно запускать клиент и отдельно браузер, но не все браузеры хорошо отображают поток, да и телодвижений лишних много.
Я нашел вот эту статью и немного вник. Пример оттуда принимает поток и сует его в jpegи, а как все эти чередующиеся картинки превратить в видео и вывести на экран?
К сожалению, мои навыки программирования застыли на уровне институтского VB6 с формами, контролами и программирования мышкой.
Хочется кроссплатформенное (linux\windows\возможно андроид) что-то сделать, остановился на питоне - вроде довольно простой язык.
Собственно говоря, если отбросить всю воду, как это можно сделать? Желательно, если есть возможность исключить кучу громоздких библиотек и фреймворков, малодоступных для смартфонов и пр мобильных девайсов (в качестве пульта хочу попробовать использовать nokia n810, все равно без дела валяется)
Либо, как вариант, встроить в приложение vlc-плеер?
Пока что я гуглю, но ничего подходящего не нахожу. Наверное по тому, что не знаю что конкретно искать.
Возможно, кто-то из читающих делал подобное\знает как делать\может подкинуть пример. Буду очень благодарен.
  • Вопрос задан
  • 3477 просмотров
Решения вопроса 1
dieselpoweredthings
@dieselpoweredthings
В самом простом случае, можно сделать так:
from time import sleep
while True:
  image = server.get_frame()
  application.image_container.draw(image)
  sleep(100) # 1000 / 100 = 10 fps

Где application.image_container - компонент для отображения картинок.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы