Live streaming with ffmpeg
If you are using the 2020-08-20-raspios-buster-armhf image, then you don't need to install anything as the system already comes with ffmpeg.
Going straight to the topic, assuming you already have a camera and it's properly connected to the Raspberry Pi, then proceed with the tutorial.
- The camera must be enabled by running the raspi-config command before using it:
sudo raspi-config Select Enable Camera, select YES
- If it is a camera using the CSI interface, the system cannot find the device node of /dev/video0. A line for bcm2835-v4l2 needs to be added to the /etc/modules file:
sudo nano /etc/modules
add:
bcm2835-v4l2

Then after the system starts, the system will load the module name in this file and restart the system:
sudo reboot ls /dev/video*
The video0 device node is found below.
![]()
Note: If after performing the first steps, please confirm that the operation and instructions are correct.
Suppose you are using Douyu Live now, register your account and enable the host function, open Douyu Live Host Center, and find the live broadcast settings.

Open video plug flow setting:

The rtmp address and live code will be obtained, and the Raspberry Pi will execute the command:
ffmpeg -f video4linux2 -s 640x480 -r 25 -i /dev/video0 -c:v h264_omx -f flv "rtmp address/live code"
For example: open a terminal first, runs the 5G network:
cd Goonline sudo ./simcom-cm
and then open another terminal, run the following command:
ffmpeg -f video4linux2 -s 640x480 -r 25 -i /dev/video0 -c:v h264_omx -f flv "rtmp://sendtc3.douyu.com/live/9188303rTNGmU7CS?wsSecret=ef762877aae120262eaf23c3f60a28bf&wsTime=5f59dbf0&wsSeek=off&wm=0&tw=0&roirecognition=0"
rtmp://sendtc3.douyu.com/live is the address, and the next section is the live code. Enter the room number at this time, you can observe the live broadcast, the delay is about 1-2S.
