Skip to content

jkuri/opencv-ffmpeg-rtmp-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenCV FFMpeg RTMP Stream

Example of live video streaming over RTMP protocol using OpenCV and FFMpeg.

For streaming without using OpenCV check ffmpeg-webcam-rtmp-stream repository.

Installation Guide

Install FFMpeg

On MacOS.

brew install ffmpeg

On Ubuntu Linux.

sudo apt-get install ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libavresample-dev libavdevice-dev -y

Install OpenCV

For installing OpenCV there's a script inside scripts/ folder:

./scripts/install-opencv.sh

Run RTMP Server Docker image

docker run -it -p 1935:1935 -p 8080:8080 --name rtmp-server jkuri/urtmp

Then open your browser at http://localhost:8080 where you can watch your published streams.

uRTMP live stream

Compile & run

To compile source code just run:

mkdir -p build && cd build
cmake .. && make

Run the program to start streaming:

./build/rtmp-stream

To set up different options for stream, here is ./rtmp-stream -h output

SYNOPSIS
        ./rtmp-stream [-c <camera>] [-o <output>] [-f <fps>] [-w <width>] [-h <height>] [-b <bitrate>] [-p <profile>] [-l <log>]

OPTIONS
        -c, --camera <camera>
                    camera ID (default: 0)

        -o, --output <output>
                    output RTMP server (default: rtmp://localhost/live/stream)

        -f, --fps <fps>
                    frames-per-second (default: 30)

        -w, --width <width>
                    video width (default: 800)

        -h, --height <height>
                    video height (default: 640)

        -b, --bitrate <bitrate>
                    stream bitrate in kb/s (default: 300000)

        -p, --profile <profile>
                    H264 codec profile (baseline | high | high10 | high422 | high444 | main) (default: high444)

        -l, --log <log>
                    print debug output (default: false)

Use VLC or ffplay to connect to live video stream:

ffplay -sync ext rtmp://localhost/live/stream

LICENCE

MIT

About

OpenCV FFMpeg Live Video Stream over RTMP protocol.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages