СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №6/2012

ПРИБОРЫ И СИСТЕМЫ root@overo:~# gst launch v videotestsrc ! video/x raw yuv,width=320,height=240 ! x264enc ! rtph264pay pt=96 ! udpsink host=192.168.1.5 port=4000 На компьютере (адрес IP 192.168.1.5) запускаем: gst launch 0.10 v udpsrc port=4000 caps='application/x rtp, media=(string)video, clock rate=(int)90000, encoding name=(string)H264' ! rtph264depay ! ffdec_h264 ! xvimagesink sync=false Наблюдаем тестовое изображение (см. рис. 1), но смущает небольшое число кадров в секунду, даже при раз решении 320 × 240. Всё дело в том, что кодирование видео вформате h.264 яв ляется довольно затратным по вычис лительным ресурсам и процессам, и ядро ARM с ним не справляется даже при небольшом разрешении. Естественным решением данной проблемы является использование яд ра ЦПОС (DSP) процессора DM3730 и программных средств CodecEngine . Од нако в собранном образе и хранили щах необходимые для работы ядра ЦПОС модули cmemk и dsplink недо ступны. Собираем их самостоятельно. С БОРКА ОБРАЗОВ ДЛЯ G UMSTIX O VERO И ИСПОЛЬЗОВАНИЕ ЯДРА ЦПОС Образы файловой системы и ядра Linux рекомендуется собирать с по мощью Open Embeded – системы ав томатического скачивания, конфи гурирования, исправления и сборки программ. В конфигурации omap3 console image по умолчанию отсут ствуют пакеты, предоставляемые ком панией TI для DSP, поэтому, следуя инструкциям [5], добавляем в сборку следующие пакеты: ● task gstreamer ti; ● ti codec engine; ● ti dmai, ti dspbios; ● ti dsplib, ti dsplink; ● ti dsplink module; ● ti cmem module. Также вносим изменение в перемен ные окружения uBoot для резервирова нияпамятивОСLinuxподнужды cmem: setenv mem mem=96M@0x80000000 mem=384@0x88000000 . Для сборки проекта требуется время и свободное место на жёстком диске (примерно 60 Гб). Для этого выполняем команду: bitbake omap3 console image . После успешной сборкипроекта полученные образы копируем на карту microSD и повторяемописаннуювыше процедуру загрузки Gumstix overo . На рисунке 2 представлены срав нительные диаграммы утилизации ядра ARM в зависимости от частоты кадров. П ЕРЕДАЧА ВИДЕОСИГНАЛА КАМЕРЫ С ПОМОЩЬЮ ПРОТОКОЛА RTSP В предыдущем разделе в качестве ис точника для gstreamer использовался тестовый видеосигнал. При подключе нии камеры, в ОС Linux появляется уст ройство ./dev/videoX , совместимое с video4linux . Для его использования в gstreamer применяется источник сиг нала v4l2src вместо videotestsrc : gst launch v v4l2src ! video/x raw yuv,width=640,height=480 ! ffmpegcolorspace ! TIVidenc1 codecName=h264enc engineName=codecServer ! rtph264pay pt=96 ! udpsink host=192.168.1.5 port=4000 Однако утилизация ядра ARM с таки ми параметрами становится 100 %. Причина падения производительнос ти – ffmpegcolorspace – перекодиров щик форматов, не использующий функционал ЦПОС. Чтобы исключить переформатирование, требуется виде окамера с выходным форматом UYVY. Для поддержки протокола RTSP необ ходимо загрузить и установить библи отеку rtsp server для gstreamer и собрать тестовое приложение test launch [6]. Для запуска сервера rtsp копируем биб лиотеку libgstrtspserver 0.10 в каталог /usr/lib (gumstix) : ./test launch gst debug=2 "( videotestsrc ! video/x raw yuv,width=640,height=480 ! ffm pegcolorspace ! TIVidenc1 codec Name=h264enc engineName=codec Server ! rtph264pay name=pay0 pt=96 )" В результате можно смотреть видео с помощьюпроигрывателей, поддержи вающих протокол RTSP (программы vlc, mplayer, gstreamer ), а также трансли ровать видеосигнал с помощью таких служб, как yatv.ru. На рисунке 3 приведена фотография устройства (модуля COM) с подклю ченной видеокамерой USB. Л ИТЕРАТУРА 1. https://www.gumstix.com/store/pro duct_info.php?products_id=267. 2. http://www.gumstix.org/how to/70 writing images to flash.html. 3. http://cumulus.gumstix.org/images/ang strom/developer/2012 01 22 1750/. 4. h t t p : / / w i k i . g u m s t i x . o r g / i n dex.php?title=Overo_Wifi. 5. http://jumpnowtek.com/index.php?op tion=com_content&view=article&id=81:gu mstix dsp gstreamer&catid=35:gum stix&Itemid=67. 6. http://processors.wiki.ti.com/index.php/ DVSDK_4.x_FAQ. http://www.axonim.by Тел.: +375 17 254 79 00 25 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 6 2012 0 2 4 6 8 10 12 Кадров/с 0 20 40 60 80 100 120 % 320 × 240 160 × 120 Рис. 1. Утилизация ядра ARM без использования ядра ЦПОС 4 6 8 10 13 16 20 25 30 0 10 20 30 40 50 60 70 80 90 % Кадров/с 320 × 240 640 × 40 Рис. 2. Утилизация ядра ARM при кодировании видеосигнала с помощью ЦПОС и различной частоте кадров Рис. 3. Устройство в сборе На правах рекламы © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy