Adding HEVC/H265 FourCC support to MSMF video writer#23172
Adding HEVC/H265 FourCC support to MSMF video writer#23172alalek merged 5 commits intoopencv:4.xfrom
Conversation
Adding HEVC/H265 fourcc to MSMF video writer. I have verified it with my own video input stream, and it works well on my workstation.
Please update videoio tests to check added new functionality for MSMF. |
H265/HEVC encoder is only available in Windows or later. https://learn.microsoft.com/en-us/windows/win32/medfound/h-265---hevc-video-encoder
|
There is a problem on CI with H265/HEVC tests:
Added this package:
No changes on CI |
Hi @alalek , Thanks for your feedback. I guess CI enviroment cannot fully support MSMF. BTW, you're referring to an error (i.e. MFVideoFormat_RGB32) which seems to be irrelevant to my recent HEVC/H264 FourCC code change. I only saw 2 failed tests from here (https://pullrequest.opencv.org/buildbot/builders/precommit_custom_windows/builds/100080/steps/test_videoio/logs/tests%20summary), Should I remove HEVC/H265 from the "videoio_synthetic" unit test, or any suggestion to move forward? Thank you, |
alalek
left a comment
There was a problem hiding this comment.
Well done! Thank you for the contribution 👍
Thank you :) |
|
@lilohuang I want to tray that (and report back), Is it enough to build latest OpenCV with WITH_FFMPEG and OPENCV_ENABLE_NONFREE or do I have to download custom ffmpeg libraries and somehow point to them during CMake configuration? |
@TrueWodzu This PR is nothing to do with FFMPEG, it's all about MSMF (Microsoft Media Foundation). You need to enable WITH_MSMF and compile OpenCV with Windows 10 SDK to take the benefit of Microsoft Media Foundation H265 encoder . Good luck! |
|
@lilohuang Thank you so much for you answer, to this day I have thought that you I can have VideoWriter only with ffmpeg or gstreamer! |
Adding HEVC/H265 FourCC support to MSMF video writer * Adding HEVC/H265 fourcc to MSMF video writer Adding HEVC/H265 fourcc to MSMF video writer. I have verified it with my own video input stream, and it works well on my workstation. * Update video io testing * Adding macro fence to get rid of compiler error H265/HEVC encoder is only available in Windows or later. https://learn.microsoft.com/en-us/windows/win32/medfound/h-265---hevc-video-encoder * Update test_video_io.cpp
Adding HEVC/H265 FourCC support to MSMF video writer * Adding HEVC/H265 fourcc to MSMF video writer Adding HEVC/H265 fourcc to MSMF video writer. I have verified it with my own video input stream, and it works well on my workstation. * Update video io testing * Adding macro fence to get rid of compiler error H265/HEVC encoder is only available in Windows or later. https://learn.microsoft.com/en-us/windows/win32/medfound/h-265---hevc-video-encoder * Update test_video_io.cpp
Adding HEVC/H265 FourCC support to MSMF video writer. I have verified it with my own video input stream, and it works well on my workstation.
Pull Request Readiness Checklist
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
Patch to opencv_extra has the same branch name.