RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Children Display |
---|
Table of Contents |
---|
The RDKC Media Server 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/RPI-3 device. With this RTSP streaming we can able to play live streaming content in VLC player. This page dedicated to bringing up and validation of RMS functionality with RTSP streaming in RPI-0/RPI-3.
Refer below link to build camera image
Morty:
RDK-C Build Instruction for RPI-0
RDK-C Build Instruction for RPI-3
Dunfell:
RDK-C rdk-next Yocto 3.1 dunfell build for Raspberrypi
STEP 1:
Add require SSID and PSK in /etc/wpa_supplicant.conf file in below format
network={
ssid="username"
psk="password"
}
Code Block | ||||
---|---|---|---|---|
| ||||
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
ssid="XXXX"
psk="YYYYYYYYY"
}
|
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:
WiFi connection is must needed for RMS validation.
Check WiFi connection by using below command.
ifconfig
Code Block | ||||
---|---|---|---|---|
| ||||
root@raspberrypi3-rdk-camera:~# ifconfig
eth0 Link encap:Ethernet HWaddr B8:27:EB:87:67:91
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:89842 errors:0 dropped:0 overruns:0 frame:0
TX packets:89842 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25639748 (24.4 MiB) TX bytes:25639748 (24.4 MiB)
wlan0 Link encap:Ethernet HWaddr B8:27:EB:D2:32:C4
inet addr:192.168.43.146 Bcast:192.168.43.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:103 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4484 (4.3 KiB) TX bytes:10216 (9.9 KiB) |
STEP 4:
check loaded module by using below command
lsmod
Code Block | ||||
---|---|---|---|---|
| ||||
root@raspberrypi3-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 8:
check camera device there or not by using below command
ls /dev/video0
Code Block | ||||
---|---|---|---|---|
| ||||
root@raspberrypi0-rdk-camera:~# ls /dev/video0
/dev/video0 |
STEP 5:
Before validate this use case we should stop rms binary and mediastreamer binary with below command.
systemctl stop rms-launcher
systemctl stop mst-launcher
STEP 6:
Run the pipewire binary with below command
pipewire &
Code Block | ||||
---|---|---|---|---|
| ||||
root@raspberrypi3-rdk-camera:~# pipewire & |
STEP 7:
Run the pipewire media session binary with below command
pipewire-media-session &
Code Block | ||||
---|---|---|---|---|
| ||||
root@raspberrypi3-rdk-camera:~# pipewire-media-session & |
STEP 8:
Run the RMS binary with below command
cd /usr/local/rms/bin/
./rdkcmediaserver ../config/config.lua &
Code Block | ||||
---|---|---|---|---|
| ||||
root@raspberrypi3-rdk-camera:~# cd /usr/local/rms/bin/
root@raspberrypi3-rdk-camera:/usr/local/rms/bin# ./rdkcmediaserver ../config/config.lua &
[3] 21317
root@raspberrypi3-rdk-camera:/usr/local/rms/bin#
Successfully retrieved the MAC as b8:27:eb:87:67:91
got video format: H264
size: 1280x720
framerate: 25/1 |
STEP 9:
Enter into the Telnet console with telnet command
telnet localhost 1222
Code Block | ||||
---|---|---|---|---|
| ||||
root@raspberrypi3-rdk-camera:~# telnet localhost 1222
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'. |
After entering the telnet console need to stop webrtc streaming, so we should check webrtc status with "listconfig" command.
Code Block | ||||
---|---|---|---|---|
| ||||
listconfig
Command entered successfully!
Run-time configuration
dash: []
hds: []
hls: []
metalistener: []
mss: []
process: []
pull:
--
configId: 1
localStreamName: stream2
status:
current:
description: Streaming
uniqueStreamId: 1
uri: sercom://0
push: []
record: []
webrtc:
--
configId: 2
roomid: rpi0
rrsip: 18.224.54.11
rrsport: 81 |
STEP 10:
At that same telnet console,need to give the below command for RTSP streaming
pushStream uri=rtsp:
//camera_ip
:5544 localStreamName=stream2
Example:
pushStream uri=rtsp:
//192
.168.43.146:5544 localStreamName=stream2
Code Block | ||||
---|---|---|---|---|
| ||||
pushStream uri=rtsp://192.168.43.146:5544 localStreamName=stream2
Command entered successfully!
Local stream stream2 enqueued for pushing to rtsp://192.168.43.146:5544 as stream2
configId: 4
forceTcp: false
keepAlive: true
localStreamName: stream2
targetStreamName: stream2
targetStreamType: live
targetUri:
fullUri: rtsp://192.168.43.146:5544
port: 5544
scheme: rtsp |
STEP 12:
On VLC player, for RTSP streaming
need to enter media → Open Network Stream option and then give rtsp URL to play streaming content in VLC
Example :rtsp://192.168.43.146:5544/stream2
We can able to see the live streaming content on VLC Player.
Note: VLC player available PC and RPI target should run in same network.