我正在尝试制作一个使用FFMPEG来解码Android不支持的视频的Android应用程序(至少不是在所有设备上):MPEG-TS& h264主要档案。
所以,到目前为止,我能够使用JNI的FFMPEG来解码一些具有上述规格的本地视频,但我的目标是从流媒体URL(http://127.0.0.1:1666/
)上制作FFMPEG解码数据,我将发送缓冲区来自Android服务(出于某些原因)
所以,基本上,我有两个问题:
我怎样才能从流媒体网址进行解码,因为我找不到任何好的例子?
在解码我的本地MPEG-TS视频时,我注意到播放速度非常慢,而且视频会冻结一段时间,即使Dolphin Player(基于FFMPEG)也是如此行为,我不知道是否有一些解决方案。有什么建议吗?
感谢您的帮助。
答案 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是一个从接收器填充缓冲区的函数
对于你的第二个问题,我也遇到了同样的问题,不幸的是我找不到解决方案,希望你找到并分享它