我在这件事上一直碰壁。我正在研究一种机制,将数据编码成有效的h.264流。我已经得到了它的工作,它播放的工具,如mplayer,赛璐珞和vlc(软件,VA-API和VA-API与DRM),和ffmpeg。Ffmpeg甚至可以重新打包,一切都很好。
但是,在使用硬件解码的情况下,例如VDPAU,它根本不起作用。
这也适用于windows!
可以在下面的示例代码中看到:https://www.cardinalpeak.com/blog/worlds-smallest-h-264-encoder
我正在使用的代码是有点复杂,只有时间戳警告在ffmpeg, https://github.com/cnlohr/h264fun/blob/dfa95a6ed0b669fe1e15d67cd3cbd45ac24cc79d/testbase.c
但是我担心的一些事情是,如果I_PCM在硬件解码中被支持,或者什么可能会触发问题?
在我的系统上,看起来Linux中的VDPAU有问题。其他一些绝对有效的H.264流不能播放,我已经测试了我的应用程序,它可以在所有Windows, android等播放器上运行。