FMUSER更轻松地传输视频和音频!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
开源代码live555是用于实现流媒体传输功能的SDK。 使用SDK的teSTProgs文件夹中的play Common.cpp设计IP TV机顶盒的传输模块,并与播放模块一起构成IPTV机顶盒过程的流媒体播放器。 playCommon。 cpp是连接服务器和客户端的桥梁。 它的工作原理是,当客户端从服务器请求数据时,它从服务器URL获取SDP描述信息,并基于SDP创建多媒体会话,最后播放数据流。
介绍了IPTV机顶盒流媒体播放器的设计过程,利用live555开源代码中的playCommON.cpp功能,结合IPTV机顶盒的软件结构设计,开发了IPTV机顶盒传输模块。 然后,传输模块通过消息队列与中间件连接,同时通过播放模块的入口功能与播放模块连接,最终构成IPTV机顶盒的流媒体播放器。 该播放器已经过测试,性能稳定。
1 IPTV机顶盒流媒体播放器设计
1. 1 IPTV机顶盒软件结构
机顶盒的软件代码分为四个部分:硬件驱动程序,操作系统,中间件,应用程序层。
1)硬件驱动程序连接底层硬件和上层操作系统。 2)操作系统这里使用免费的开放源代码Linux。 3)中间件将上层应用程序层与底层操作系统和硬件隔离开来的软件适配层。 中间件的核心模块主要包括:(1)浏览器:从服务器获取URL并显示相应的EPG页面。 (2)图形用户界面管理:为应用程序提供图形功能,例如用户界面控件(例如按钮,列表)和图形图像绘制。 4)应用层实现音频和视频媒体文件的播放。
1.2 IPTV机顶盒流媒体播放器系统结构
在Live555开源代码中,playCommon.cpp实现了以下功能:将计算机用作接收终端,使用VLC软件进行接收和播放,最后将其显示在计算机上。 研究的内容是将playCommon.cpp集成到机顶盒的软件代码中,最终实现使用IPTV机顶盒作为接收终端并播放并将其显示在电视上的功能。 这对代码的设计提出了新的要求:一方面,playCommon.cpp通过在VLC的RTSP列中输入rtsp://本地IP地址:端口号/文件名来获取服务器的URL。 。 获得。 但是,对于IPTV机顶盒,当用户通过遥控器在EPG上选择节目时,传输模块获得的URL是对应的URL。 该URL由中间件中的浏览器读取,因此必须将中间件与传输模块连接起来。 另一方面,playCommon.cpp发送的数据流通过VLC接收和播放。 对于IPTV机顶盒,传输模块发送的数据流被接收并通过播放模块播放。 因此,必须连接传输模块和回放模块。
为了连接中间件,输出模块和回放模块,设计了一个消息队列来实现这三个模块之间的数据通信。 另外,程序中还设计了pt hread create()来创建线程rt spmain()来实现程序的并发性。
1.3程序结构分析
1.3.1传输模块。
1)主要功能(1)void initMsgQ()初始化消息队列。 dataQid代表数据的消息队列,其中包含一些在网络上传输的数据。 最后,消息队列中的数据通过void send data to player()函数发送到播放器。 msgkeyQid表示消息密钥值的消息队列。 传输模块接收从中间件获得的遥控键值命令,并将其发送给播放器,以实现快进,快退,停止和回放操作。 fromeMiddleQid代表中间件的消息队列。 当客户端播放器从服务器请求数据时,传输模块接收从中间件发送的URL作为目标地址。 playerStateQid表示正在播放状态的消息队列。 传输模块用于发送和接收播放器的状态,并控制播放器是按需播放,实时播放还是时移播放。 (2)phread_create(&g_session_thread_info,&tattr,(void *(*)(void *))rtsp_main,(void *)&urlInform); 创建rtsp_main()线程。 确保消息队列的通信和流媒体的传输同时运行。
2)rtsp_main函数。 (1)recvMiddlewareMsg(fromeMiddleQid,url):将从中间件传递的url的值分配给变量url。 (URL的定义是在中间件中完成的,因此需要从中间件中获取); (2)playCommon.cpp功能:当客户端向服务器发送请求时,服务器响应该请求,创建媒体会话并播放数据流。 (3)main_player_entry(gTrans。首先创建):客户端接收流并调用播放器的入口函数以初始化播放器。 (4)void send_data_to_player():呼叫播放器,将从Internet接收的数据发送到播放器,然后开始播放。
|
输入电子邮件以获取惊喜
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
FMUSER更轻松地传输视频和音频!
联系我们
分类目录
订阅电子邮件