Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Introduction

The RDK Media Streamer is much more than a multi-format, multi-protocol server that delivers your media rich content across multiple screens and platforms. The RDK camera software runs on RPi-0 device. This page is dedicated for RPI-0 setup with camera,Build Instruction and Testing procedure for camera features.dedicated to bringing up and validation of RMS functionality in R-Pi Zero. 

Required Equipment

  • Raspberry Pi 0 Device
  • SD Card
  • Power Cable
  • OTG Cable
  • Standard USB keyboard
  • Mini HDMI connector
  • HDMI Cable
  • Television set/monitor with HDMI input

System Setup

           

                                                                                      

                    Image Modified        


Please refer below link for RPI-0 Environment setup

RDK-C Environment Setup

RMS Flow - Environment Setup Diagram

Image Added

Yocto Build Steps

Code Block
languagebash
titleBuild

...

steps
$ repo init -u "https://code.rdkcentral.com/r/rdkcmf/manifests" -m rdkc-nosrc.xml -b master

...


$ repo sync

...


$ source meta-cmf-raspberrypi/setup-environment

...


	select meta-cmf-raspberrypi/conf/machine/raspberrypi0-rdk-camera.

...

conf
$ bitbake rdk-generic-camera-image

...

EMS - EvoStream Media Server

The EvoStream Media Server is much more than a multi-format, multi-protocol server that delivers your media rich content across multiple screens and platforms.

  • Test Procedure

...


Image Flash Procedure

Code Block
languagebash
titleImage Flash step
$ sudo dd if="Image Name" of="Device Name" bs=4M

Example:
sudo dd if=rdk-generic-camera-image_default_20200130060729.rootfs.rpi-sdimg of=/dev/sdb bs=4M

RMS Validation Procedure

STEP 1:

Add require SSID and PSK in /etc/wpa_supplicant.conf file in below format

...

ssid="username"

psk="password"

}Image Removed

Code Block
languagebash
titleConsole output
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

network={
ssid="RDK"
psk="Comcast1"
}


STEP 2:

Reboot the Target

After Reboot don't do step 1 and 2.

Note : Step 1 & 2 is only applicable for fresh target boot-up with new image.


STEP 3:

Get WiFi IP by using below command

udhcpc -i wlan0

Image Removed

STEP 4:

Connect RPI-0 device with WiFi Ip

ssh root@WiFI_IP

for Ex: ssh root@192.168.2.7

Image Removed

STEP 5:

This modprobe command is used to load v4l2 module in RPI-0 device.

modprobe bcm2835-v4l2

Image Removed

STEP 6:

check loaded module by using below command

lsmod

Image Removed

STEP 7:

check camera device there or not by using below command

ls /dev/video0

Image Removed

STEP 8:

export LD_PRELOAD=/usr/lib/libwayland-client.so.0:/usr/lib/libwayland-egl.so:/usr/lib/libopenmaxil.so

Image Removed

STEP 9:

Run mediastreamer in background

mediastreamer &

Image Removed

Some prints are coming after run mediastreamer,After that print just give ENTER button and the terminal will come back.

STEP 10:

Run Evostreamms in background

cd /usr/bin/evo/bin

./evostreamms ../config/config.lua &

Image Removed

Some prints are coming after run evostreamms,After that print just give ENTER button and the terminal will come back.

STEP 11:

check the mediastreamer and evostreamms are running or not by using below command

jobs

Image Removed

STEP 12:

Connect ASCII CLI Interface at EMS by using below command

Telnet localhost 1222

Image Removed

STEP 13:

Check available configuration in telnet console by using below command

listconfig

Follow from step 14 continuously when you got listconfig like below snap.

Image Removed

Follow from step 15 continuously when you got listconfig like below snap.

Image Removed

Follow step 17 only when you got listconfig like below.

Image Removed

STEP 14:

Do the pull stream in telnet console.

Pullstream uri=sercom://0 localstreamname=stream2

Image Removed

STEP 15:

start webstc in Telnet console.

Startwebrtc ers=community.dummyers.server.com ersport=81 roomid=rpi0 ersOverSsl=0

Image Removed

STEP 16:

Check whether the pullstream and webrtc are properly added or not in EMS by using below command

listconfig

Image Removed

:

Modify needed resolution in rms configuration file

Supported Resolution:

SD:

Width - 640 , Height - 480

Width - 720 , Height - 576

HD:

Width - 1280 , Height - 720

FULL HD  :

Width - 1920 , Height - 1080


Modify resolution in below configuration file

cd /usr/local/rms/bin

vi rms.conf

Code Block
languagebash
titleConsole output
RRSIP=18.224.54.11
RRSPORT=81
ROOMID=rpi0
RRSSSL=0
WIDTH=1280
HEIGHT=72

After resolution modification need to reboot the target.

Note: This step is not necessary,it is depends on your resolution validation.


STEP 4:

WiFi connection is must needed for RMS validation.

Check WiFi connection by using below command.

ifconfig

Code Block
languagebash
titleConsole output
root@raspberrypi0-rdk-camera:~# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:87 errors:0 dropped:0 overruns:0 frame:0
          TX packets:87 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4552 (4.4 KiB)  TX bytes:4552 (4.4 KiB)

wlan0     Link encap:Ethernet  HWaddr B8:27:EB:2E:72:2B  
          inet addr:192.168.43.246  Bcast:192.168.43.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2893 (2.8 KiB)  TX bytes:5887 (5.7 KiB)


STEP 5:

check loaded module by using below command

lsmod

Code Block
languagebash
titleConsole output
root@raspberrypi0-rdk-camera:~# lsmod
Module                  Size  Used by
bcm2835_v4l2           40563  0
v4l2_common             4809  1 bcm2835_v4l2
videobuf2_vmalloc       6264  1 bcm2835_v4l2
videobuf2_memops        1528  1 videobuf2_vmalloc
videobuf2_v4l2         12640  1 bcm2835_v4l2
videobuf2_core         27389  2 bcm2835_v4l2,videobuf2_v4l2
videodev              154457  4 v4l2_common,videobuf2_core,bcm2835_v4l2,videobuf2_v4l2
media                  23307  1 videodev
brcmfmac              258239  0
brcmutil                7590  1 brcmfmac
snd_bcm2835            21405  0
cfg80211              492836  1 brcmfmac
snd_pcm                79872  1 snd_bcm2835
rfkill                 19936  3 cfg80211
snd_timer              20294  1 snd_pcm
snd                    52949  3 snd_timer,snd_bcm2835,snd_pcm
lirc_rpi                6840  0
lirc_dev                7533  1 lirc_rpi
uio_pdrv_genirq         3469  0
uio                     8703  1 uio_pdrv_genirq
fixed                   2876  0
sch_fq_codel            9662  2
ipv6                  384101  18


STEP 6:

check camera device there or not by using below command

ls /dev/video0

Code Block
languagebash
titleConsole output
root@raspberrypi0-rdk-camera:~# ls /dev/video0 
/dev/video0


STEP 7STEP 17:

On Bowser of PC:
http://community.dummyersserver.com
Need to modify roomid as rpi0

Press "PLAY" button in WebBrowser page.

Image Modified

We can able to see the capturing content on WebBrowser.

...