Java 在流采用FFMPEG编码后,如何将H.263打包成RTP包

Java 在流采用FFMPEG编码后,如何将H.263打包成RTP包,java,ffmpeg,rtp,h.263,Java,Ffmpeg,Rtp,H.263,我有一个支持H.263+和H.264的基于Java的VoIP软电话(jPhoneLite)。 但是目前H.263(RFC2190)是不完整的。 根据RFC,数据必须在MB(宏块?)边界上分割,但我不知道如何找到它们。 如果查看函数ff_rtp_send_h263_rfc2190()中的FFMPEG source/libavformat/rtpenc_h263_rfc219.c,您可以看到mb边界信息以某种方式从编码器传递到它们的打包器。 我使用ffmpeg将视频编码为H263数据,但我不知道ff

我有一个支持H.263+和H.264的基于Java的VoIP软电话(jPhoneLite)。 但是目前H.263(RFC2190)是不完整的。 根据RFC,数据必须在MB(宏块?)边界上分割,但我不知道如何找到它们。 如果查看函数ff_rtp_send_h263_rfc2190()中的FFMPEG source/libavformat/rtpenc_h263_rfc219.c,您可以看到mb边界信息以某种方式从编码器传递到它们的打包器。 我使用ffmpeg将视频编码为H263数据,但我不知道ffmpeg是否提供了获取这些MB指针/偏移量的功能

有什么帮助吗?谢谢。

我更喜欢用Java编写的开源软件

另一个选择是,开源以及支持h263/264(msx264)的优秀mediastramer2。你可以在那里找到相关的代码

我更喜欢用Java编写的开源代码


另一个选择是,开源以及支持h263/264(msx264)的优秀mediastramer2。您可以在那里找到相关代码

H.26x比特流被分为几层, 通常,每一层都以唯一的位序列开始

  • 图片/帧层:从PSC开始-图片开始代码。包括政府的列表-一组区块
  • GOV可以选择从代码开始。包括MB宏块的列表
  • MB-以标题开头,以代码结尾
  • 您可以在第3.2节中阅读相关内容:采空区编号


    查看ffmpeg代码后,开始代码的搜索通过以下步骤完成:ff\u h263\u find\u resync\u marker\u reverse()in.

    将H.26x比特流分层, 通常,每一层都以唯一的位序列开始

  • 图片/帧层:从PSC开始-图片开始代码。包括政府的列表-一组区块
  • GOV可以选择从代码开始。包括MB宏块的列表
  • MB-以标题开头,以代码结尾
  • 您可以在第3.2节中阅读相关内容:采空区编号


    查看ffmpeg代码后,搜索开始代码的方法是:ff\u h263\u find\u resync\u marker\u reverse()。我是jPhoneLite的创建者,只是想在我的项目中帮助实现H.263 RFC2190。谢谢你。虽然也许我可以查一下他们的密码…我不是在找另一部软电话。我是jPhoneLite的创建者,只是想在我的项目中帮助实现H.263 RFC2190。谢谢你。虽然也许我可以看看他们的代码。。。