mintaka33 / ffmpeg-deeplearning-encode

A E2E solution for Video Capturing, Processing, Encoding and Transmitting based on ffmpeg

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VideoCPET

A E2E solution for Video Capturing, Processing, Encoding and Transmitting based on ffmpeg

FFmpeg

set environment variables

export LIBVA_DRIVER_NAME=iHD
export LIBVA_DRIVER_PATH=/usr/local/lib/dri/iHD_drv_video.so
export LD_LIBRARY_PATH=/home/fresh/data/work/VideoCPET/build/detect

ffmpeg basic usage

# USB camera preview
./ffplay -f v4l2 -s 640x480 -i /dev/video0 

# capture video and encode (SW)
./ffmpeg -f v4l2 -s 640x480 -i /dev/video0 -vframes 100 -c:v h264 out.mp4

# capture video and encode (HW)
./ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -f v4l2 -i /dev/video0 \
-vf 'format=nv12,hwupload' -vframes 100 -c:v h264_vaapi -qp 42 out.mp4 -y

# capture video, scaling+encode (HW)
./ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -f v4l2 -i /dev/video0 \
-vf 'format=nv12,hwupload,scale_vaapi=640:480:nv12' -vframes 100 -c:v h264_vaapi -qp 42 out.mp4 -y

ffmpeg server streaming usage

# server (note: 10.239.141.208 is client IP)
./ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -f v4l2 -i /dev/video0 \
-vf 'format=nv12,hwupload,scale_vaapi=640:480:nv12' -vframes 10000 -c:v h264_vaapi -qp 42 \
-f mpegts udp://10.239.141.208:1234 -re

# client (note: 10.239.141.20 is server IP)
ffplay udp://10.239.141.20:1234

About

A E2E solution for Video Capturing, Processing, Encoding and Transmitting based on ffmpeg

License:GNU Lesser General Public License v2.1


Languages

Language:C 62.5%Language:C++ 29.0%Language:Assembly 5.8%Language:Objective-C 2.0%Language:Makefile 0.4%Language:CMake 0.3%Language:Shell 0.0%Language:Perl 0.0%Language:Python 0.0%Language:Cuda 0.0%Language:Meson 0.0%Language:M4 0.0%Language:Smarty 0.0%Language:CSS 0.0%Language:HTML 0.0%Language:Awk 0.0%Language:Ruby 0.0%Language:Batchfile 0.0%Language:Verilog 0.0%Language:Roff 0.0%