wince版本VLC播放流媒体问题

shen8686 2011-08-15 03:12:54
我用VLC-1.0.5的源码编译了wince版本的vlc,想用libvlc.dll的接口播放流媒体,但是遇到了许多问题

1.调用libvlc_new加载plugin,加载到liblive555_plugin.dll、libspatializer_plugin.dll和libwince_plugin.dll这三个dll的时候会报错“应用程序edm.exe出现严重错误,必须关闭”,我把这三个dll删掉了代码才能执行下去。

2.将上面提到的三个DLL删掉后,能正常播放本地文件,但是不能播放RTP流媒体,查看打印信息会发现“线程 0xa970002 已退出,返回值为 0 (0x0)。”
调用libvlc_media_player_get_state (p_media_player, &ex)返回libvlc_Error,但是ex并没有返回异常。

3.在DEBUG模式下还能播放本地文件,在Release模式下调用libvlc的接口直接出错了0xC000005,内存不能为READ

4.我需要播放的流媒体是从电视卡采集的,本来想用vlc-1.0.5的win32版本作为服务器的,但它不争气,能够播放电视卡的内容,却死活不能串流到局域网,后来换了vlc-1.1.1版本才能串流,还不能串流声音。我的电视卡是天敏TB400

vlc版本是1.0.5,使用cygwin+mingw32ce编译,我的开发环境是VS2008+WINCE6.0,使用MFC开发。

这个问题已经纠结了我一个星期了,哪位前辈能帮我解决wince播放流媒体的问题的话,还有100分奉上,帮帮忙吧!

附上我调用libvlc播放流媒体的代码,这个代码我在window下是可以正常播放流媒体的

//char* psz_mrl = "rtp://@:5004";
char* psz_mrl = "rtp://@239.255.0.1:5004";//组播,get state返回libvlc_Error
//char* psz_mrl = "\\Disk2\\CEClient\\test.avi";//这个参数可以正常播放test.avi

libvlc_exception_t ex;
libvlc_exception_init(&ex);
int vlc_argc = 0;
const char * const vlc_argv[] = {
"-I", "dummy", /* Don't use any interface */
"--ignore-config" /* Don't use VLC's config */
};
vlc_argc = sizeof(vlc_argv)/sizeof(vlc_argv[0]);


p_instance = libvlc_new(vlc_argc, vlc_argv, &ex); //这里开始load plugin的dll文件,加载到上面提到的三个dll的时候会出错,然后报“应用程序edm.exe出现严重错误,必须关闭”
raise(&ex);

p_media = libvlc_media_new(p_instance, psz_mrl, &ex);
raise(&ex);


p_media_player = libvlc_media_player_new_from_media(p_media, &ex);
raise(&ex);


libvlc_drawable_t hwnd =
(libvlc_drawable_t) this->GetSafeHwnd();
libvlc_media_player_set_drawable(p_media_player, hwnd, &ex);
raise(&ex);
libvlc_media_player_play(p_media_player, &ex); //组播的时候,执行这句会打印“线程 0xa970002 已退出,返回值为 0 (0x0)。”
raise(&ex);

libvlc_state_t state;
do {
state = libvlc_media_player_get_state (p_media_player, &ex);
raise (&ex);
} while( state != libvlc_Playing &&
state != libvlc_Error &&
state != libvlc_MediaPlayerEndReached );

assert( state == libvlc_Playing || state == libvlc_MediaPlayerEndReached );//返回state == libvlc_Error
...全文
385 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
searchfor1115 2011-08-18
  • 打赏
  • 举报
回复
试试UDP播放
shen8686 2011-08-18
  • 打赏
  • 举报
回复
经过测试,使用UDP播放可以收发流媒体数据,而使用RTP不管收发都不能正常使用
不知道跟LIVE555不能正常使用有没有关系
shen8686 2011-08-17
  • 打赏
  • 举报
回复
我的问题不在于是否稳定,是根本就跑不起来
纠结啊。。
shen8686 2011-08-16
  • 打赏
  • 举报
回复
没有人嘛 救命啊
沭水河畔 2011-08-16
  • 打赏
  • 举报
回复
局域網的串流,發現0.99比較穩定。長時間運行也不會崩潰。
shen8686 2011-08-15
  • 打赏
  • 举报
回复
谁来帮帮我啊,自个顶一下

2,553

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧