HEVC files produced not compatible with iOS 11 and macOS High Sierra
Issue #363
duplicate
As you probably know, the upcoming OSes will support HEVC by default.
My testing showed that MKV/HEVC files converted to MP4/HEVC using subler are not compatible with either OS.
Researching the problem, I found that the problem lies in the video tag. it needs to hvc1 instead of hev1 to be recognized by the QuickTime decoder.
Hope this can be fixed soon.
Comments (4)
-
repo owner -
repo owner - changed status to duplicate
Duplicate of
#338. -
reporter For what it's worth, using the latest ffmpeg, a simple command fixed it.
ffmpeg -i input.mp4 -vcodec copy -acodec copy -tag:v hvc1 output.mp4
I don't know anything about extradata, but this seems to work like a charm. Tested a dozen videos, works on both OS now.
-
I tried this using latest ffmpeg (3.3.4) and this is the output:
#! Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'xyz.mp4': Metadata: major_brand : mp42 minor_version : 512 compatible_brands: isomiso2mp41 creation_time : 2017-09-18T19:42:49.000000Z encoder : HandBrake 1.0.7 2017040900 Duration: 00:00:34.41, start: 0.000000, bitrate: 2241 kb/s Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, bt709), 1080x1080 [SAR 1:1 DAR 1:1], 2110 kb/s, 30 fps, 30 tbr, 90k tbn, 30 tbc (default) Metadata: creation_time : 2017-09-18T19:42:49.000000Z handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) Metadata: creation_time : 2017-09-18T19:42:49.000000Z handler_name : Stereo [mp4 @ 0x7fd2d1054c00] Tag hvc1 incompatible with output codec id '174' ([35][0][0][0]) Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Last message repeated 1 times
- Log in to comment
It's not that simple. The "hev1" means the extradata needed by the decoder can be in the frames data. So Subler will need to parse every frame, extract the data it needs, and reconstruct the track extradata. So it's going to take some time tom implement.