ffmpeg on android:播放MPEG2 TS udp组播流

时间:2013-08-27 06:29:43

标签: android networking stream ffmpeg playback

我想使用ffmpeg制作Android媒体播放器。 (通过WIFI网络捕获MPEG2 TS组播流并对其进行解码) 我检查了以下内容:

  • 我的iptime AP支持WIFI组播协议。 (在有线PC中发送组播流,并且wifi连接的PC可以接收它)
  • 我的Android手机可以通过WIFI接收多播流。 我编写了NDK套接字编程,它是加入udp组播组并接收数据包 (我向AndroidManifest.xml添加了多播访问授权)
  • FFMPEG库被移植到android,它可以播放本地媒体文件。

但是当我尝试使用FFMPEG库打开网络流时,avformat_open_input()函数返回失败。

gFormatCtx = avformat_alloc_context();
av_register_all(); 
avcodec_register_all(); 
avformat_network_init(); 
if(avformat_open_input(&gFormatCtx,"udp://@239.100.100.100:4000",NULL,NULL) != 0)
    return -2;

此代码始终返回“-2”。 如果我使用“av_dict_set()”api,我应该使用哪个选项?

av_dict_set(&options, "udp_multicast", "mpegtsraw", 0);

请告诉我应该检查avformat_open_input错误?

感谢。

0 个答案:

没有答案