Skip to content

vaapi_encode_h264: enable deblocking filter control in PPS RTMP#781

Open
milosz-intern wants to merge 1 commit intointel-media-ci:masterfrom
milosz-intern:milecki/vcx-2012/stream_corruption_nginx_rtmp
Open

vaapi_encode_h264: enable deblocking filter control in PPS RTMP#781
milosz-intern wants to merge 1 commit intointel-media-ci:masterfrom
milosz-intern:milecki/vcx-2012/stream_corruption_nginx_rtmp

Conversation

@milosz-intern
Copy link

Media Transcode Accelerator team noticed problem during streaming h264 it in real-time by nginx RTMP.

JIRA report:
[VCX-2012] [BM][AUX] Corruption on video when streaming it in realtime by nginx RTMP - VCX-2012

Test commands:
ffmpeg -hwaccel vaapi \ -re -init_hw_device vaapi=hw:/dev/dri/renderD128 \ -hwaccel_output_format vaapi \ -i /home/input \ -muxdelay 0 -muxpreload 0 -reset_timestamps 1 \ -compression_level 2 -profile:v high -c:v h264_vaapi -rc_mode CQP -qp 25 -vf scale_vaapi=w=3840:h=1714 -c:a aac -b:a 128k -f flv rtmp://localhost/live/2160p \ -compression_level 2 -profile:v high -c:v h264_vaapi -rc_mode CQP -qp 25 -vf scale_vaapi=w=2560:h=1440 -c:a aac -b:a 128k -f flv rtmp://localhost/live/1440p \ -compression_level 2 -profile:v high -c:v h264_vaapi -rc_mode CQP -qp 25 -vf scale_vaapi=w=1920:h=1080 -c:a aac -b:a 128k -f flv rtmp://localhost/live/1080p \ -compression_level 2 -profile:v high -c:v h264_vaapi -rc_mode CQP -qp 25 -vf scale_vaapi=w=1280:h=720 -c:a aac -b:a 128k -f flv rtmp://localhost/live/720p \ -compression_level 2 -profile:v high -c:v h264_vaapi -rc_mode CQP -qp 25 -vf scale_vaapi=w=640:h=480 -c:a aac -b:a 128k -f flv rtmp://localhost/live/480p

Then you should be able to capture the video streams from the server
ffmpeg -i [http://[YOUR_IP]:8080/hls/2160p.m3u8|http://[your_ip]/hls/2160p.m3u8] -c copy -t 60 output_gnrd.mp4 ffmpeg -i [http://[YOUR_IP]:8080|http://[your_ip]/]/hls/2160p_sw.m3u8 -c copy -t 60 output_sw.mp4

Or you can use the VLC player to watch the video as it is served as HLS stream.

Result image
image-2025-03-28-11-29-36-604

@milosz-intern
Copy link
Author

@mkver @michaelni Could you please explain how I can expedite the process of merging changes into a common patch for FFmpeg? What does this procedure look like?

@nyanmisaka
Copy link
Contributor

Send the patch v1 to the ffmpeg-devel mailing list, cc the maintainer of the code contained in the patch. Resolve comments, resend patch v2, and wait for the maintainer merges the commit into the mainline. The process is never quick due to FFmpeg's use of the old-school mailing list.

See also
https://ffmpeg.org/developer.html#Submitting-patches-1
https://www.ffmpeg.org/contact.html
https://ffmpeg.org/pipermail/ffmpeg-devel/
https://patchwork.ffmpeg.org/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants