是否有人使用过允许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-应该使您了解如何使用它。