4

We've detected that the h264 streaming produced by Apple M1 hardware encoder apparently is not following the standard of H264 and some hardware decoders aren't able to play an stream produced with M1.

By our tests, it plays without any issues on M1 devices and also on Snapdragon ones. But We've checked that it fails on Windows PC with Intel or AMD CPU or rk3328, rk3356 and amlogic 311d1 Android devices.

As a proof of that We've recorded a couple of demo raw h264 streams:

It's easy to see that Macbook Pro with M1 video will get freeze after a couple of seconds, or showing green frames on windows pc using VLC and Intel or AMD CPU. Exactly same stream will play without any issues on an Apple device with M1 CPU using VLC.

Also, as We detected this on Android side, I created a sample application for Android to test it. That app will play the video fine on Snapdragon devices, but not in rk3328, rk3566 or AmLogic 311d devices; and probably in many others.

Any possible workarounds for this? Apart of doing software decoding which is what we are aiming to do, with the reducement of performance :(.

Note: The video jumps through Big Buck Bunny on purpose, to be sure you are seeing the full video. It should start with device connecting through Airplay and end with device disconnecting through Airplay.

forlayo
  • 1,371
  • 2
  • 13
  • 23

0 Answers0