Потоковое видео со встроенной веб-камеры
(Новая страница: «Category:Users») |
|||
Строка 1: | Строка 1: | ||
− | [[Category: | + | [[Category:Пользователи]] |
+ | |||
+ | =={{PAGENAME}}== | ||
+ | |||
+ | Камеру на устройстве 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 | ||
+ | assume on PATH, +x etc. | ||
+ | • На устройстве с операционной системой Linux (обратите внимание, что медиа плеер VLC также запускается на других платформах) выполните: | ||
+ | $ vlc /tmp/n800.sdp | ||
+ | • Получайте удовольствие от передачи потокового видео (и звука) с устройства N800. | ||
+ | |||
+ | Выражаем благодарность Джошуа Лифтону за проделанную работу. | ||
+ | |||
+ | Чтобы изображение на устройстве N800 автоматически отображалось зеркально по вертикали, когда камера направлена в обратном направлении (так, чтобы изображение не было перевернуто), измените название источника с "v4l2src" на "gconfv4l2src". | ||
+ | |||
+ | Чтобы скорректировать качество кодировки видео, взгляните на параметры, которые описываются после ввода "gst-inspect hantro4200enc" в приглашении командного процессора. Если присвоить параметру "битовая скорость передачи данных" максимальное значение (515) и параметру "профиль-и-уровень" значение 1007, в результате получится изображение гораздо более высокого качества. Также есть предположение, что параметр "тип потока" должен быть "5" (H263), а не "1" (MPEG4 Video). | ||
+ | |||
+ | [[Category:Пользователи]] | ||
+ | [[Category:Соединяемость]] | ||
+ | [[Category:Медиа]] | ||
+ | |||
+ | [[Category:Продвинутые]] |
Версия 21:56, 6 февраля 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 assume on PATH, +x etc. • На устройстве с операционной системой Linux (обратите внимание, что медиа плеер VLC также запускается на других платформах) выполните: $ vlc /tmp/n800.sdp • Получайте удовольствие от передачи потокового видео (и звука) с устройства N800.
Выражаем благодарность Джошуа Лифтону за проделанную работу.
Чтобы изображение на устройстве N800 автоматически отображалось зеркально по вертикали, когда камера направлена в обратном направлении (так, чтобы изображение не было перевернуто), измените название источника с "v4l2src" на "gconfv4l2src".
Чтобы скорректировать качество кодировки видео, взгляните на параметры, которые описываются после ввода "gst-inspect hantro4200enc" в приглашении командного процессора. Если присвоить параметру "битовая скорость передачи данных" максимальное значение (515) и параметру "профиль-и-уровень" значение 1007, в результате получится изображение гораздо более высокого качества. Также есть предположение, что параметр "тип потока" должен быть "5" (H263), а не "1" (MPEG4 Video).