Opened 9 days ago

Closed 6 days ago

Last modified 6 days ago

#7347 closed defect (fixed)

HEVC HDR playback issues

Reported by: enen92 Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: mov hevc dvvideo
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:

FFmpeg (ffplay) incorrectly identifies video codec as dvvideo and fails. If you force hevc decoder it will play. Streams can be found here (labeled as HDR_HVEC):

https://sylvan.apple.com/Aerials/2x/entries.json

Example stream: ​https://sylvan.apple.com/Aerials/2x/Videos/LA_A006_C008_2K_HDR_HEVC.mov

This issue was also submitted on Kodi trac: https://trac.kodi.tv/ticket/17831

How to reproduce:

% ffplay https://sylvan.apple.com/Aerials/2x/Videos/LA_A006_C008_2K_HDR_HEVC.mov

Version: 4.0.2

Attachments (1)

LA_A006_C008_2K_HDR_HEVC_cut.mov (2.4 MB) - added by cehoyos 8 days ago.

Change History (12)

comment:1 Changed 9 days ago by enen92

  • Summary changed from HVEC HDR playback issues to HEVC HDR playback issues

comment:2 Changed 9 days ago by enen92

  • Keywords hevc added; hvec removed

comment:3 follow-up: Changed 8 days ago by jkqxz

The video stream is tagged as 'dvh1', indicating that it contains DVCPRO HD video. It actually does contain a valid H.265 stream, but FFmpeg does not probe the content of files where the container explicitly signals its parameters (H.265 video should be tagged as 'hvc1' or 'hev1').

You can remux the file with:

ffmpeg -c:v hevc -i LA_A006_C008_2K_HDR_HEVC.mov -c:v copy remuxed.mov

to make it playable.

Do you know how the file was created? Maybe the muxer which made it is misconfigured somehow?

comment:4 Changed 8 days ago by cehoyos

  • Component changed from ffmpeg to avformat
  • Keywords mov added; hdr removed
  • Reproduced by developer set
  • Status changed from new to open

Changed 8 days ago by cehoyos

comment:5 follow-up: Changed 8 days ago by heleppkes

'dvh1' is actually the FourCC for Dolby Vision videos (dvh1 for the hvc1 variant, dvhe for hev1). Although I could only find it in Dolby docs, not sure if they registered it officially for mov/mp4.

Is the DVCPRO HD code official somewhere? Or just something FFmpeg somehow "allows" in mov?

Apple devices definitely understand 'dvh1' (the Dolby Vision one), so considering Apple owns MOV, its probably valid.

Last edited 8 days ago by heleppkes (previous) (diff)

comment:6 in reply to: ↑ 5 Changed 8 days ago by cehoyos

Replying to heleppkes:

'dvh1' is actually the FourCC for Dolby Vision videos (dvh1 for the hvc1 variant, dvhe for hev1). Although I could only find it in Dolby docs, not sure if they registered it officially for mov/mp4.

They did (and it should definitely not been allowed).

Is the DVCPRO HD code official somewhere? Or just something FFmpeg somehow "allows" in mov?

https://web.archive.org/web/20070330141901/https://msdn.microsoft.com/archive/en-us/directx9_c/directx/htm/dvvideosubtypes.asp
Contrary to popular believe here, MEncoder was not the usual application writing such (mov) files.

comment:7 follow-up: Changed 8 days ago by heleppkes

Microsoft FourCCs are not automatically valid in every container format. They apply to AVI, not MOV or MP4.

comment:8 in reply to: ↑ 7 Changed 8 days ago by cehoyos

Replying to heleppkes:

Microsoft FourCCs are not automatically valid in every container format. They apply to AVI, not MOV or MP4.

I was neither saying this nor am I believing it. It's imo just not very helpful to mention it.

comment:9 in reply to: ↑ 3 ; follow-up: Changed 8 days ago by enen92

Replying to jkqxz:

The video stream is tagged as 'dvh1', indicating that it contains DVCPRO HD video. It actually does contain a valid H.265 stream, but FFmpeg does not probe the content of files where the container explicitly signals its parameters (H.265 video should be tagged as 'hvc1' or 'hev1').

You can remux the file with:

ffmpeg -c:v hevc -i LA_A006_C008_2K_HDR_HEVC.mov -c:v copy remuxed.mov

to make it playable.

Do you know how the file was created? Maybe the muxer which made it is misconfigured somehow?

Thanks for taking a look. I have no idea how the files were created. Those are the aerial videos Apple uses in their Apple TV4 screensaver. The main reason for posting the "bug" was mainly because I found vlc was able to play the file without any issues nor further configurations unlike ffmpeg. So I though maybe something could be improved in ffmpeg. I don't want nor need to remux the files, I can already play them in ffplay if I force the hevc decoder.
If it is a false positive feel free to close.

comment:10 Changed 6 days ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

comment:11 in reply to: ↑ 9 Changed 6 days ago by cehoyos

Replying to enen92:

The main reason for posting the "bug" was mainly because I found vlc was able to play the file without any issues nor further configurations unlike ffmpeg.

Thank you for the report, it is much appreciated! We love samples that don't work here;-)

Note: See TracTickets for help on using tickets.