[FFmpeg-user] Remove "DOVI configuration record" from h265 streams
Oliver Fromme
oliver at fromme.com
Thu Jun 27 18:49:15 EEST 2024
I've got another question about HDR re-encoding.
There are "hybrid" files that contain both Dolby Vision (DoVi) and
HDR10 (or even HDR10+) metadata at the same time. I don't care about
the DoVi metadata, so I just remove it. I only encode with the HDR10
metadata. The resulting files play fine with mpv.
However, when I look at the resulting file (h265 within mkv) with
ffprobe, it still displays a side_data record for the video stream
that has the type "DOVI configuration record". Excerpt of ffprobe
for the video stream (JSON format):
'streams': [
{
[...]
'codec_long_name': 'H.265 / HEVC (High Efficiency Video Coding)'
[...]
'side_data_list': [
{
'bl_present_flag': 1
'dv_bl_signal_compatibility_id': 1
'dv_level': 6
'dv_profile': 8
'dv_version_major': 1
'dv_version_minor': 0
'el_present_flag': 0
'rpu_present_flag': 1
'side_data_type': 'DOVI configuration record'
}
]
[...]
}
The video is definitely *not* Dolby Vision, it does not contain any
BL or RPU data or anything else. Therefore I would like to get rid
of that "DOVI configuration record" because it might confuse certain
players.
How to do that?
During my research I noticed that ffmpeg has a multimedia filter
named "sidedata". It's supposed to be able to delete side data from
frames. However, the documentation (manual page) refers to the
AVFrameSideDataType enum in libavutil/frame.h that conatins all
AV_FRAME_DATA_* values. But that enum does not contain an entry for
DoVi configuration records. So it must be something else.
Best regards
Oliver
More information about the ffmpeg-user
mailing list