Opened 8 months ago
#10490 new defect
HLS packaging does not preserve Dolby Vision metadata
| Reported by: | Viktor | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | undetermined |
| Version: | unspecified | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
Summary of the bug:
When remuxing/packaging mkv or ts files with dolby vision (profile 5.1, profile 8.1) dolby vision data is not preserved. As a result file is played (at least by LG C2 TV) as HDR only.
Test file was taken from here: https://4kmedia.org/lg-amaze-dolby-vision-uhd-4k-demo/
ffmpeg version: 6.0
How to reproduce:
Package to HLS:
ffmpeg -analyzeduration 200M -fflags +genpts -i file:test.ts -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 dvh1 -strict -2 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename test-1.mp4 -start_number 0 -hls_segment_filename out/test%d.mp4 -hls_playlist_type vod -hls_list_size 0 -y out/test.m3u8
...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file:test.ts':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42dby1isom
creation_time : 2017-04-13T20:09:18.000000Z
Duration: 00:00:56.20, start: 0.000000, bitrate: 28362 kb/s
Stream #0:0[0x1](und): Video: hevc (Main 10) (dvhe / 0x65687664), yuv420p10le(tv), 3840x2160 [SAR 1:1 DAR 16:9], 27713 kb/s, 60 fps, 60 tbr, 60k tbn (default)
Metadata:
creation_time : 2017-04-13T20:09:18.000000Z
handler_name : video handler
vendor_id : [0][0][0][0]
encoder : DOVI Coding
Side data:
DOVI configuration record: version: 1.0, profile: 5, level: 9, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 0
...
[hls @ 0x55cc8d4b9b00] Opening 'out/test-1.mp4' for writing
[mp4 @ 0x55cc8d564b80] track 1: codec frame size is not set
[hls @ 0x55cc8d4b9b00] Stream HEVC is not hvc1, you should use tag:v hvc1 to set it.
Output #0, hls, to 'out/test.m3u8':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42dby1isom
encoder : Lavf60.3.100
Stream #0:0(und): Video: hevc (Main 10) (dvh1 / 0x31687664), yuv420p10le(tv), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 27713 kb/s, 60 fps, 60 tbr, 15360 tbn (default)
Metadata:
creation_time : 2017-04-13T20:09:18.000000Z
handler_name : video handler
vendor_id : [0][0][0][0]
encoder : DOVI Coding
Side data:
DOVI configuration record: version: 1.0, profile: 5, level: 9, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 0
Stream #0:1(und): Audio: eac3 (ec-3 / 0x332D6365), 48000 Hz, 5.1(side), fltp, 640 kb/s (default)
...
and ffprobe shows codec tag hev1 and no DOVI record:
ffprobe -i out/test-1.mp4
...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out/test-1.mp4':
Metadata:
major_brand : iso5
minor_version : 512
compatible_brands: iso5iso6dby1mp41
encoder : Lavf60.3.100
Duration: N/A, bitrate: N/A
Stream #0:0[0x1](und): Video: hevc (Main 10) (hev1 / 0x31766568), yuv420p10le(tv), 3840x2160 [SAR 1:1 DAR 16:9], 60 tbr, 15360 tbn (default)
Metadata:
handler_name : video handler
vendor_id : [0][0][0][0]
encoder : DOVI Coding
Stream #0:1[0x2](und): Audio: eac3 (ec-3 / 0x332D6365), 48000 Hz, 5.1(side), fltp (default)
...
Note:
See TracTickets
for help on using tickets.


