Zend certified PHP/Magento developer

Muxing AC3 and HEVC, timing & seeking challenges

I’m attempting to generate a downloadable HDR10 with 5.1 surround deliverable to put on a website of a concert I worked on. Ideally with maximum compatibility with things like QuickTime & Plex.

I have a source 2160p29.97 10-bit PQ HDR DNxHR video file, and a source Dolby AC-3 5.1 audio encode. The AC3 encode was created with Dolby Media Encoder using a 6ch .wav that had also been exported from Resolve. I’m not sure if the timecode for that was handled correctly.

Here’s my ffmpeg string:

ffmpeg.exe .master-dnx.mov -i .master-ac3.ac3 -acodec copy -c:v libx265 -x265-params "colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc:range=limited:repeat-headers=1:master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1):max-cll=1000,300:open-gop=0:hdr10-opt=1" -profile:v main10 -pix_fmt yuv420p10le -crf 22 -tag:v hvc1 -preset faster -movflags +faststart -f mp4 hdr-download.mp4

The issues:

  • Playback starts fine but QuickTime seems to have trouble seeking in the file, often leading to the audio & video being out of sync or dropping entirely after seeking. Not an issue in MPV.
  • The audio drops out a few seconds early at the end of the file.

I have noticed the following warnings from ffmpeg:

  • Estimating duration from bitrate, this may be inaccurate
  • [mp4 @ 00000257d7257600] track 1: codec frame size is not set
  • [mp4 @ 00000257d7257600] Dropping invalid packet from start of the stream

I feel there may be some kind of timestamp mismatch. This is my first time attempting to mux AC3 audio into a video this way.

Thanks so much for any help.