是否有人使用过允许NAL> H264转换的优秀开源Java库?

我见过很多库,但是大多数库不完整或很难使用(没有文档等)。

我想要的是传递NAL有效负载并获取实际的H.264原始视频。下一步将其放入MP4容器中。

最佳答案

从评论中的讨论中,我重述您的问题并将其分为两个部分:

我想从纯Java的H264 RTP数据包中提取NAL单元,并将其转储到附件B H264文件中。

我怎么做?有图书馆吗?

这些数据包的有效载荷在RFC3984中指定。

我不知道有哪个Java库可以立即执行此操作。但是只要不交叉打包类型,实现就非常简单:

RFC3984允许三种包装类型


单NAL单元模式
非交错模式
交错模式


只要您的数据包源以单NAL单元模式或非交错模式发送,您就可以从数据包中提取NAL单元而无需任何进一步处理,然后将它们以0x00,0x00,0x00,0x01作为分隔符转储到磁盘。

如果打包类型是交错的,则您需要付出更多的工作,因为您将不必考虑NAL并将它们重新排序为解码顺序。

我将原始的附件B H264文件混合到纯Java的MP4容器中

您可以使用我的mp4parser项目从附件B格式生成MP4。看一下H264Example-应该使您了解如何使用它。

09-08 12:04