Потоковое видео со встроенной веб-камеры

Материал из FRUCT Maemo wiki (Russian)
(Различия между версиями)
Перейти к: навигация, поиск
({{PAGENAME}})
({{PAGENAME}})
 
(не показаны 9 промежуточных версий 3 участников)
Строка 3: Строка 3:
 
=={{PAGENAME}}==
 
=={{PAGENAME}}==
  
Камеру на устройстве N800 можно использовать как источник потокового видео. Данный процесс изначально был описан здесь, но в указанном примере есть ошибка, которая делает его нерабочим.   
+
Камеру на устройстве N800 можно использовать как источник потокового видео. Данный процесс изначально был описан [https://maemo.org/community/wiki/howtostreamvideo/ здесь], но в указанном примере есть ошибка, которая делает его нерабочим.   
В данной статье описывается, как передавать потоковое видео с платформы в приемник данных протокола RTP, например, медиа плеер VLC.  
+
 
 +
В данной статье описывается, как передавать потоковое видео с платформы в приемник данных протокола RTP, например, медиа плеер [http://wiki.maemo.org/Vlc VLC].  
  
 
Во-первых, необходимо инсталлировать пакет gstreamer-tools из репозитория Diablo на сайте repository.maemo.org.  
 
Во-первых, необходимо инсталлировать пакет gstreamer-tools из репозитория Diablo на сайте repository.maemo.org.  
*На устройстве N800 предлагаемый ниже сценарий будет передавать потоковое видео с камеры. Здесь 172.31.0.244 – устройство с операционной системой Linux с инсталлированным меди плеером VLC и 172.31.0.245 – устройство N800. У данного сценария есть название ~/bin/rtpstream.sh.  
+
*На устройстве N800 предлагаемый ниже сценарий будет передавать потоковое видео с камеры. Здесь 172.31.0.244 – устройство с операционной системой Linux с инсталлированным медиа плеером VLC и 172.31.0.245 – устройство N800. У данного сценария есть название ~/bin/rtpstream.sh.  
  
 
<pre>
 
<pre>
Строка 17: Строка 18:
 
</pre>
 
</pre>
  
*На устройстве с операционной системой Linux пример файла .sdp из оригинальной статьи с адресом медиа плеера VLC сохранен как файл, то есть /tmp/n800.sdp  
+
*На устройстве с операционной системой Linux пример файла .sdp из [http://web.media.mit.edu/~lifton/snippets/n800_to_sl/ оригинальной статьи] с адресом медиа плеера VLC сохранен как файл, то есть /tmp/n800.sdp  
  
 
<pre>
 
<pre>
Строка 38: Строка 39:
 
*На устройстве N800 откройте камеру и выполните:  
 
*На устройстве N800 откройте камеру и выполните:  
 
  $ ~/bin/rtpstream.sh  
 
  $ ~/bin/rtpstream.sh  
assume on PATH, +x etc.  
+
 
 +
Предполагается правильная конфигурация PATH и прав на исполнение.
 +
 
 
*На устройстве с операционной системой Linux (обратите внимание, что медиа плеер VLC также запускается на других платформах) выполните:  
 
*На устройстве с операционной системой Linux (обратите внимание, что медиа плеер VLC также запускается на других платформах) выполните:  
 
  $ vlc /tmp/n800.sdp
 
  $ vlc /tmp/n800.sdp
 
*Получайте удовольствие от передачи потокового видео (и звука) с устройства N800.  
 
*Получайте удовольствие от передачи потокового видео (и звука) с устройства N800.  
  
Выражаем благодарность Джошуа Лифтону за проделанную работу.  
+
Выражаем благодарность [http://web.media.mit.edu/~lifton/snippets/n800_to_sl/ Джошуа Лифтону] за проделанную работу.  
  
 
Чтобы изображение на устройстве N800 автоматически отображалось зеркально по вертикали, когда камера направлена в обратном направлении (так, чтобы изображение не было перевернуто), измените название источника с "v4l2src" на "gconfv4l2src".  
 
Чтобы изображение на устройстве N800 автоматически отображалось зеркально по вертикали, когда камера направлена в обратном направлении (так, чтобы изображение не было перевернуто), измените название источника с "v4l2src" на "gconfv4l2src".  

Текущая версия на 22:27, 7 февраля 2010


Потоковое видео со встроенной веб-камеры

Камеру на устройстве N800 можно использовать как источник потокового видео. Данный процесс изначально был описан здесь, но в указанном примере есть ошибка, которая делает его нерабочим.

В данной статье описывается, как передавать потоковое видео с платформы в приемник данных протокола RTP, например, медиа плеер VLC.

Во-первых, необходимо инсталлировать пакет gstreamer-tools из репозитория Diablo на сайте repository.maemo.org.

  • На устройстве N800 предлагаемый ниже сценарий будет передавать потоковое видео с камеры. Здесь 172.31.0.244 – устройство с операционной системой Linux с инсталлированным медиа плеером VLC и 172.31.0.245 – устройство N800. У данного сценария есть название ~/bin/rtpstream.sh.
#!/bin/sh
VPORT=5434
APORT=5432
HOST=${1:-172.31.0.244}
gst-launch-0.10 v4l2src ! video/x-raw-yuv,width=176,height=144,framerate=\(fraction\)15/1 ! hantro4200enc stream-type=1 profile-and-level=1001 ! video/x-h263,framerate=\(fraction\)15/1 ! rtph263ppay mtu=1438 ! udpsink host=$HOST port=$VPORT dsppcmsrc ! queue ! audio/x-raw-int,channels=1,rate=8000 ! mulawenc ! rtppcmupay mtu=1438 ! udpsink host=$HOST port=$APORT
  • На устройстве с операционной системой Linux пример файла .sdp из оригинальной статьи с адресом медиа плеера VLC сохранен как файл, то есть /tmp/n800.sdp
v=0
o=- 37 614155991 IN IP4 127.0.0.0
s=QuickTime
t=0 0
a=range:npt=now-
m=audio 5432 RTP/AVP 0
c=IN IP4 172.31.0.245
b=AS:63
m=video 5434 RTP/AVP 96
c=IN IP4 172.31.0.245
a=rtpmap:96 H263-2000/90000
a=fmtp:96
a=cliprect:0,0,144,176
a=framesize:96 176-144
  • На устройстве N800 откройте камеру и выполните:
$ ~/bin/rtpstream.sh 

Предполагается правильная конфигурация PATH и прав на исполнение.

  • На устройстве с операционной системой Linux (обратите внимание, что медиа плеер VLC также запускается на других платформах) выполните:
$ vlc /tmp/n800.sdp
  • Получайте удовольствие от передачи потокового видео (и звука) с устройства N800.

Выражаем благодарность Джошуа Лифтону за проделанную работу.

Чтобы изображение на устройстве N800 автоматически отображалось зеркально по вертикали, когда камера направлена в обратном направлении (так, чтобы изображение не было перевернуто), измените название источника с "v4l2src" на "gconfv4l2src".

Чтобы скорректировать качество кодировки видео, взгляните на параметры, которые описываются после ввода "gst-inspect hantro4200enc" в приглашении командного процессора. Если присвоить параметру "битовая скорость передачи данных" максимальное значение (515) и параметру "профиль-и-уровень" значение 1007, в результате получится изображение гораздо более высокого качества. Также есть предположение, что параметр "тип потока" должен быть "5" (H263), а не "1" (MPEG4 Video).

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты