HLS Streaming Changes

Change 1:

cd build-raspberrypi3-rdk-camera/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/rms/git-r0/git/builders/make2/CCdist/rms/config/

vi config.lua

Line Number : 41

-                       pushPullPersistenceFile="/usr/local/rms/config/pushPullSetup.xml",

+--[[                   pushPullPersistenceFile="/usr/local/rms/config/pushPullSetup.xml", ]]--


Disable this "pushPullPersistenceFile="/usr/local/rms/config/pushPullSetup.xml"," line in config.lua


Change 2:

cd build-raspberrypi3-rdk-camera/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/rms/git-r0/git/sources/thelib/src/streaming/hls

vi hlsplaylist.cpp

Function Name : OpenSegment

Line Number : 562

-                       _appending ? ((uint32_t) _segmentSequence) : SEGMENT_SEQUENCE(_segmentSequence));

+                       _appending ? ((uint32_t) _segmentSequence) : (uint32_t)SEGMENT_SEQUENCE(_segmentSequence));


Added (uint32_t) type casting in this "_appending ? ((uint32_t) _segmentSequence) : SEGMENT_SEQUENCE(_segmentSequence));" line


Change 3:

cd meta-cmf-raspberrypi/meta-rdk-camera/recipes-extended/rms/files

Copy this file in this directory startRMS.sh


Thumbnail Changes

Change 1:

cd build-raspberrypi3-rdk-camera/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/pipewire/0.3.52-r0/git/src/examples

pw-capture.cpp

Copy this pw-capture.cpp file into this directory


Change 2:

cd build-raspberrypi3-rdk-camera/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/pipewire/0.3.52-r0/git/src/examples

vi meson.build

Add below lines in end of the file

opencv = dependency( 'opencv4' )

executable('pw-capture',
  'pw-capture.cpp',
  c_args : [ '-D_GNU_SOURCE' ],
  install : true,
  dependencies : [pipewire_dep, mathlib, opencv],
)


Change 3:

cd meta-cmf-camera/recipes-multimedia/pipewire

vi pipewire_git.bbappend

Add below line in this pipewire bbappend file

TARGET_CXXFLAGS += "-fpermissive"


Change 4:

cd build-raspberrypi3-rdk-camera/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/pipewire/0.3.52-r0/recipe-sysroot/usr/include/opencv4/opencv2/flann

vi logger.h

Line number : 81

        int ret;

        //int ret = vfprintf(stream, fmt, arglist);

DId above two line changes in this logger.h file


Change 5:

cd meta-openembedded/meta-oe/recipes-multimedia/pipewire

vi pipewire_git.bb

-DEPENDS = "alsa-lib dbus udev"

+DEPENDS = "alsa-lib dbus udev opencv"

Added opencv dependency component for PipeWire


Lighttpd Changes

lighttpd.conf

light.tar.gz

Need to copy this lighttpd.conf and light.tar.gz files in RPI camera target


lighttpd.conf:
Need to copy this lighttpd.conf file into /etc/lighttpd


light.tar.gz:
copy this into camera target
Local system : scp light.tar.gz root@camera_ip:/


camera target:

cd /
tar -xzvf  light.tar.gz

While untar this light.tar.gz file the respective files will automatically copy to usr/bin , usr/lib , usr/share directory.

Once did above steps then reboot the target.


Validation

HLS live streaming

Can play this URL in VLC Player

 http://camera_ip:50050/hls/playlist.m3u8


Thumbnail

Can view thumbnail imge in browser page

http://camera_ip:50050/thumbnail.jpeg 

  • No labels