DEV Community

De
De

Posted on

7 1

Linux V4L - Video Streaming 📹

From Wikipedia, Video4Linux (V4L for short) is a collection of device drivers and an API for supporting real-time video capture on Linux systems.

V4L (or it's successor V4L2) are used in many scenarios, such as applying effects to your stream.

Let's Stream

Load the V4L2 module first:

$ modprobe v4l2loopback

The command above will create a virtual video device.
To check the available video devices:

$ v4l2-ctl --list-devices

A "Dummy video device" should be available, for simplicity, we will call this device /dev/video2.

Map the video stream:

$ ffmpeg -re -i VIDEO_NAME.mp4 -map 0:v -f v4l2 /dev/video2

I use VLC to play the video

$ vlc v4l2:///dev/video2

You can also stream from a URL, for example, to stream from an .m3u8 playlist:

$ ffmpeg -i 'https://www.example.com/video/file.m3u8' -c copy -vcodec rawvideo -threads 0 -f v4l2 /dev/video2

The video can now be accessed in real-time from /dev/video2.

Also Youtube-dl can be used to obtain a HLS link to the m3u8 playlist, just use the -g flag

$ youtube-dl -g https://www.youtube.com/watch?v=QquG9a8xpfk

You can use webcamtests.com to see /dev/video2 from your browser.

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay