1

My app allows users to upload videos from their phones. However, the latest iPhone default format (HEVC / H.265) does not seem to be supported by Chrome and other browsers, so some users cannot stream the videos.

I'm already using fluent-ffmpeg on my Node.js backend to read metadata and extract thumbnails from the uploaded videos. How would I go about converting HEVC videos to something else? What format/options would be appropriate for streaming to browsers? Ideally I'd like to keep files fairly small, and I'm willing to sacrifice some quality to that end.

Daniel Loiterton
  • 5,073
  • 5
  • 33
  • 46
  • 1
    HEVC should be supported in chrome… HDR video probably not, depending on hardware/OS combo… AVC is the most widely supported codec, followed probably by HEVC then VP9 then AV1… but 8-bit rec 709 AVC up to 1080 lines should play almost everywhere. – Grady Player Jun 21 '21 at 13:04
  • Interesting. Thanks. When I set my iPhone 12 pro's video format setting to "High efficiency" (HEIF/HEVC format), I can't stream the videos on Chrome on my MacBook Pro (Safari works fine). If I switch the setting to "Most compatible" (JPEG/H.264), then I can stream them fine on Chrome. But yes, maybe the HEVC videos are HDR by default - I'll follow that up. – Daniel Loiterton Jun 21 '21 at 13:45
  • Hmmm, so there is a HDR option (on by default) in my iphone settings, but switching it off doesn't improve the situation. Looks to me like the HEVC / H.265 format just isn't supported by many browsers right now: https://caniuse.com/?search=hevc – Daniel Loiterton Jun 21 '21 at 14:22
  • H265 is hard to decode without dedicated hardware, and is a licensing nightmare … – Grady Player Jun 21 '21 at 15:26

0 Answers0