linux提示链接层次太多,嵌入式linuxmusic播放器

VLC music player

流媒体客户端软件层次结构流媒体网络协议

流视频协议是为了在客户端机和服务器之间进行通信而设计的标准化协议。根据它们的功能,网络上传输的流视频相关的协议分为三类。

网络层协议:网络层协议提供了基本的网络服务支持。IP就是网络上流音频使用的网络协议。

传输协议:传输协议为流服务提供端对端的网络传输功能。TCP、UDP、RTP 和RTCP就是网络上流音频流使用的传输协议。

话路控制协议:话路控制协议定义消息和程序。RTSP就是一种话路控制协议。

客户端与服务器之间的通信主要是由位于在应用层的RTSP协议和位于传输层的RTP协议来实现的,RTSP是一个多媒体流传输控制协议,通过此协议,可以为服务器和客户端建立会话控制连接,为多媒体流提供远程控制功能,比如播放、暂停、跳跃、停止等,具有可扩展性、解析简单、安全、传输独立等特点。由于流媒体数据的实时性要求,应该选择传输效率较高数据可靠性较低的UDP 协议。实时传输协议RTP是针对Internet上多媒体数据流的一个传输协议。RTP 被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。图1表示了流媒体客户端和服务器之间信息交互和客户端内部的层次结构。

15748869766c799910e86704ba320290.png

VLC

,rtsp://等数据流,可以使用X1l、Xvideo、SDL或者DiractX作为视频输出,使用OSS、ALSA和ESD作为音频输出。VLC扫描步骤:1).探测cpu型号与功能;

2).消息接口初始化;3).命令行选项解析组件;4).创建播放列表;5).仓库初始化;6).加载所有内置和动态组件;7).打开接口;8).安装信号处理器:SIGHUP,SIGINT和SIGQUIT(捕获一个,忽略后来的并退出);9).派生音频输出线程;10).派生视频输出线程;11).主循环:事件管理,图2表示了这些步骤的执行过程。

根据需求,应将开源的VLC进行裁减、交叉编译并移植到目标开发板上。VLC 功能非常强大,包含了各类模块与插件以支持多种音视频格式,并提供了可直接操作友好的图形化用户界面。对于功能单一的嵌入式音频客户端而言,应在移植VLC时去除冗余代码,并在configure时对功能模块进行裁减,主要配置选项有:用“--host=mips-linux”指定目标平台类型,用“CC=mips-linux-gcc”指定交叉编译工具,用--prefix=/root/mipsbuild指定编译链接后目标文件的存放路径,用“--disable-module”选项忽略gtk、X11、lua、screen、x264、skins2、

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vc的UI编程PngTextButton控件的适用情况

控件继承自Cbutton。重写了其中的一些方法。适用ui类型:带图片和文字的类型的按钮,其中图片在前面,文字在后面。如下图 文件下载 转载于:https://www.cnblogs.com/songtzu/p/3415601.html

如何使用一个库中不存在的函数

Windows是一个不断发展的系统,很多新的 API 在操作系统更新时更新,而MASM32开发包一般在很长一段时间内都无法及时更新,如果需要在编程中使用新添加的API函数。就得自己动手来更手库文件,下面我就给大家介绍一下如何通过手动的方法…

清除浮动的7种方法

使用display:inline-block会出现的情况: 1.使块元素在一行显示 2.使内嵌支持宽高 3.换行被解析了 4.不设置的时候宽度由内容撑开 5.在IE6,7下步支持块标签 由于inline-block属性换行的时候被解析(有间隙)故解决方法使用浮动float:…

背后的故事之 - 快乐的Lambda表达式(二)

快乐的Lambda表达式 上一篇 背后的故事之 - 快乐的Lambda表达式(一)我们由浅入深的分析了一下Lambda表达式。知道了它和委托以及普通方法的区别,并且通过测试对比他们之间的性能,然后我们通过IL代码深入了解了Lambda表达式&#x…

linux用vsc写c语言,vscode写c语言(windows)

用vscode学习c语言。记录vscode配置c语言编译环境。1.安装vscode(版本1.27)2.安装c/c扩展。配置环境变量,以WIN10为例 ,此电脑-属性-高级系统设置-环境变量-系统变量-path-添加一条D:\Program Files\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw3…

linux识别UDF文件系统吗,Linux Kernel UDF文件系统本地缓冲区溢出漏洞

发布日期:2012-07-04更新日期:2012-07-05受影响系统:Linux kernel 3.3.x描述:--------------------------------------------------------------------------------BUGTRAQ ID: 54279Linux Kernel是Linux操作系统的内核。Linux K…

程序编译时书写Makefile注意事项一例

在进行程序编译时,可能需要指定一些库的库的路径、头文件的路径,分别使用的参数选项是-L和-I,需要注意的是:需要确保-L和-I后边的内容不为空,否则会出现意想不到的错误,而这种错误比较难以发现,…

把一个数组分为多个数组

/*int[]arr{1,2,5,213,75,42,64,48,21,44,22}; 分为3个数组 第一个数组满足全是偶数 第二个数组满足全是3的倍数 第三个数组满足其他*/ public class E{public static void main(String[]args){int[]arr{1,2,5,213,75,42,64,48,21,44,22};int b0,c0,d0;//遍历数组,得到每个数组…

数组的增删

public class A {public static void main(String[] args) {int[] arr { 1, 2, 5, 23, 64, 9, 87, 99 };// 要求删除23int index -1;int num 23;for (int i 0; i < arr.length; i) {if (num arr[i]) {index i;}}for (int i index 1; i < arr.length; i) {arr[i -…

获取Android版本信息和电话信息

Android的版本信息可以通过android.os.Build获得&#xff0c;电话信息可以通过TelephonyManager获得&#xff0c;代码如下&#xff1a; private void get_infor(){sdk android.os.Build.VERSION.SDK;;release android.os.Build.VERSION.RELEASE;user android.os.Build.USER;…

简单的二维数组

/*找人,找到输出在第几楼第几号房间&#xff08;考虑没有找到的情况&#xff09;*/ /*{{"凤姐","蔡除坤","张洁"},{"姚鸣","芙蓉姐姐"},{"马尔克死","打仲马","肝塞特","高死你"}}…

用c语言程序编写一份试卷,C语言程序设计试题

C语言程序设计试题俗话说&#xff1a;“一份耕耘&#xff0c;一分收获。”耕耘就得付出一定的代价&#xff0c;没有那含辛如苦的“耕耘”&#xff0c;哪能领会到甜人心田的收获?以下是小编为大家搜索整理的C语言程序设计试题&#xff0c;希望能给大家带来帮助!更多精彩内容请及…

面向对象封装之无参无返,无参有返

public class E{public static void main(String[]args){EQ enew EQ();e.name"Mr.Deng";e.age29;e.weight50.5;e.hobby"Designing something that he like";e.jieShao();String be.sentPresence();//对象接受返回值System.out.println("Thats "b…

终端模拟器编译c语言,编写你自己的Terminal emulator

安装开发依赖环境在apt包管理器系中&#xff0c;使用以下命令安装apt install libvte-2.91-dev介绍VTE是一个使用GTK构建的一个终端模拟器库&#xff0c; 能够处理DPI的更改。很多终端模拟器软件都基于VTE库&#xff0c;包括GNOME Terminal&#xff0c; XFCE Terminal&#xff…

转:C#串口编程

本文用来简单介绍一下C#串口编程的知识&#xff0c;主要以实例为内容。 凡是串口设备和计算机交互的时候都用到串口&#xff0c;在C#中我们如何来操作串口呢&#xff1f; 大话串口工作原理 实际串口是用来和外部设备进行交换数据的&#xff0c;我抽象出下面一个图形&#xff0c…