FFMPEG& JNI:如何从URL解码

时间:2013-04-24 07:56:58

标签: android ffmpeg java-native-interface mpeg2-ts

我正在尝试制作一个使用FFMPEG来解码Android不支持的视频的Android应用程序(至少不是在所有设备上):MPEG-TS& h264主要档案。 所以,到目前为止,我能够使用JNI的FFMPEG来解码一些具有上述规格的本地视频,但我的目标是从流媒体URL(http://127.0.0.1:1666/)上制作FFMPEG解码数据,我将发送缓冲区来自Android服务(出于某些原因)

所以,基本上,我有两个问题:

  • 我怎样才能从流媒体网址进行解码,因为我找不到任何好的例子?

  • 在解码我的本地MPEG-TS视频时,我注意到播放速度非常慢,而且视频会冻结一段时间,即使Dolphin Player(基于FFMPEG)也是如此行为,我不知道是否有一些解决方案。有什么建议吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以将此作为示例,您可以按照

iobuffer                  = (unsigned char*) av_malloc(bufferSize);               
pFormatCtx                = avformat_alloc_context();   
pFormatCtx->pb            = avio_alloc_context(iobuffer, bufferSize, 0,receiver,    IORead, NULL, );

err = avformat_open_input(& pFormatCtx,“”,NULL,NULL);

其中pFormatCtx是AvFormatContext,而ioread是一个从接收器填充缓冲区的函数

对于你的第二个问题,我也遇到了同样的问题,不幸的是我找不到解决方案,希望你找到并分享它