vlc和udp和流媒体服务器构建

搭建VLC流媒体服务
分类:视频音频
2011-01-18 08:43 7388人阅读评论(0) 收藏举报
服务器
stream
windows
视频会议
microsoft
网络应用
目录(?)
[+]
概述:
流媒体技术是一种支持多媒体数据流通过网络从服务器向客户端传送,接受方边接收边播放的技术。

对网络服务的要求:
必须实时传输数据,仅容许少量的延迟(数百毫秒);
传送数据相对可靠性,容忍一定数量的数据丢失;
保证一定的带宽,以保证传输的数据量能够实时播放。

架设基于vlc的UDP服务器
UDP(用户数据报协议),是OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

是一个简单的面向数据报的传输层协议,与面向连接的TCP协议相对应。

正是由于UDP协议没有TCP的拥塞控制和发送速率控制,也没有提供数据传输的可靠性保证,但是却保证了传输的实时性,所以被流媒体应用系统所广泛采用。

主要用来支持那些需要在计算机之间传输数据的网络应用,包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。

利用vlc(VLC media player 1.0.1)实现UDP服务器:
首先在服务器端打开VLC播放器,如下:
接下来选择媒体菜单—->选择高级打开文件,界面如下:
单击添加按钮,可以将磁盘上的媒体文件添加进来,然后在右下角的下拉菜单中选择流,进入下一步,如下:
在上面的的界面中,单击目标按钮,进行UDP设置,添加你想要的发送到的客户端,可以设置多个。

另外,如需要转码则把激活转码选项打钩,其他可以选择默认的设置,不需要更改也可,当然也可以根据你的要求进行输出配置,进入下一步,视频就开始在服务器端进行播放,并向目标端发送流信息。

接下来,在客户端打开VLC播放器,单击媒体菜单,选择打开网络串流,出现如下界面:
选择UDP协议,端口默认即可,单击播放按钮就可以实现在客户端的播放了。

以上是利用图形界面进行操作,当然也可以使用命令来操作。

VLC 服务器RTSP功能实现
RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。

该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。

RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据
传输。

HTTP 与RTSP相比,HTTP传送HTML,而RTP传送的是多媒体数据。

HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。

首先进入到VLC的安装目录下,执行类似如下的命令:
vlc –ttl 12 -vvv –color -I telnet –telnet-password videolan –rtsp-host 219.219.218.239:5554
对上述参数的解释:–ttl:是对hop的限制;-vvv选项用来输出错误信息,可以省略;219.219.218.239是RSTP点播服务器的主机地址;videolan 是telnet 登录RTSP点播服务器时输入的口令,这两个部分用户可以根据自己的情况进行修改。

登录RTSP点播服务器
在这里我是运用SecureCRT软件进行telnet登录。

界面如下所示:
当点击连接后,要求输入密码:videolan,回车后如果显示:Welcome, Master,则表明登录成功。

在主机名栏输入:219.219.218.239,该内容必须与前面建立的RTSP点播服务器的主机地址一致;在端口栏输入:4212,该端口号在使用VLC默认设置时不能改为其他的数值。

接下来就可以设置点播文件了
在登录成功的界面上,输入以下的命令:
new Test vod enabled
setup Test input myVideo.mpg
最后,就可以在客户端观看视频,命令如下:
vlc rtsp://219.219.218.239:5554/Test
还可以通过VLC播放器的VLM进行可视化配制,并生成.vlm配置文件,然后利用SecureCRT工具登录到RTSP点播服务器,利用load命令将配置文件导入,使用show命令可以查看导入的文件信息。

测试结果:
CDXA/MPEG-PS 未经过编码转换即可播放,但是仅可以用VLC播放器进行播放。

原因是其他播放器无法解析rtsp://219.219.218.147:5554/Test 中的Test 文件名。

利用RTP协议实现流输出
实时传送协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。

RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。

它一开始被设计为一个多播协议,但后来被用在很多单播应用中。

RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。

RTP协议和RTP控制协议RTCP一起使用,而且它是建立在用户数据报协议上的。

服务器端:
vlc -vvv input_stream –sout ‘#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://:8080/test.sdp}’
客户端:
vlc rtsp://:8080/test.sdp
rtp: streams over RTP. This can only be used to stream MPEG-TS over plain RTP.
VLC实现mmsh/mms点播功能
MMS协议(Microsoft Media Server Protocol)是用来访问并且流式接收Windows Media服务器中.asf文件的一种协议。

MMS协议用于访问Windows
Media发布点上的单播内容。

示例视频.mpg格式。

vlc –vvv input_stream:sout=#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,
ab=128,channels=2,samplerate=44100}:std{access=mmsh,mux=asfh,dst=:8080} 在VLC客户端中用以下命令播放:mmsh://server_ip_address:8080
在暴风影音,Windows Media Player中可以正常播放,在KMPlayer中视频格式正常,但没有声音,在real中无法播放,
错误原因:音频无法解析。

另外,我测试了几个高清视频(mov,mkv,wmv),发现的情况是,可以播放,但是太卡。

VLC实现http 点播功能
将需要的媒体文件放在服务器的某个路径下面,服务器可以是Apache,tomcat等均可。

然后在客户端可以利用多种播放器进行播放,如VLC,Windows Media Player,RealPlayer,在暴风影音,KMPlayer下不能播放
命令如下:http://localhost/fileName
文件太大的话无法正常播放,如我测试的dance.wmv 文件大小:351M ,但是在realPlayer下可以播放,缓冲时间比较长,在Windows Media Player缓冲较小时间就可以播放。

注:
ts: the MPEG2/TS muxer. This the standard muxer used to stream MPEG2. This muxer can be used with any access method. Supported codecs are MPEG 1/2/4, MJPEG, H263, H264, I263, WMV 1/2 and theora for video, MPEG audio, AAC and a52 for theaudio stream.
ps: the MPEG2/PS muxer. This the standard muxer for MPEG 2 files(.mpg). It can be used with the file and http output methods. Supported codecs are MPEG 1/2 and MJPEG for video, MPEG audio and a52 for audio streams。

合集下载

流媒体服务器方案

流媒体服务器方案
第2篇
流媒体服务器方案
一、引言
流媒体服务作为现代信息传输的重要方式,对服务器系统提出了更高的要求。本方案旨在设计一套符合行业标准、性能卓越、安全可靠的流媒体服务器方案,以满足日益增长的高质量流媒体服务需求。
二、需求分析
1.高并发处理能力:服务器需能处理大量的并发请求,保证服务的流畅性。
2.低延迟传输:确保流媒体数据传输的实时性,降低播放延迟。
数据库:使用MySQL等关系型数据库,确保数据管理的规范性。
缓存系统:采用Redis等高性能缓存技术,提高系统响应速度。
3.安全设计
数据加密:对敏感数据进行加密存储,保护用户隐私。
传输安全:使用SSL/TLS协议加密数据传输,防止中间人攻击。
访问控制:实施严格的访问控制策略,确保只有授权用户能访问数据。
(3)数据库:选用关系型数据库,如MySQL、PostgreSQL等;
(4)缓存:采用Redis等高性能缓存技术。
4.数据安全
(1)遵循我国相关法律法规,对用户数据进行加密存储;
(2)采用HTTPS协议,保障数据传输安全;
(3)定期进行数据备份,防止数据丢失。
5.性能优化
(1)负载均衡:采用一致性哈希算法,实现负载均衡;
3.优化用户体验,提高服务器稳定性;
4.方便后期扩展,降低运维成本。
三、技术方案
1.系统架构
本方案采用分布式架构,分为前端、后端和存储三部分。
(1)前端:负责用户接入、请求分发和负载均衡;
(2)后端:处理流媒体数据,提供编码、解码、转码等功能;
(3)存储:存储流媒体数据,提供高效的数据访问。
2.硬件选型
流媒体服务器方案
第1篇
流媒体服务器方案

vlc播放器架构

vlc播放器架构

acess :访问
• 可以理解为接收、获取、得到数据资源, 包括解析访问源(url)、使用http协议(ftp、 rtsp协议......)建立连接、获取数据等。
demux :解复用
• 就是把通常合在一起的音频和视频分离(还 有可能的字幕),通过分析数据包头来判断 是什么数据文件,需要用什么解码格式。
output
• 音视频模块,提供独立的可操作接口
subtitle 外挂字幕
• 软件解析后,直接发送至输出接口。
6.vlc调用内部接口运行过程
附:直接调用vlc上api播放音视频demo
• • • • • • • • • static void test_media_local(const char** argv, int argc) { libvlc_media_t *md1, *md2, *md3, *md4; libvlc_instance_t *vlc; libvlc_media_t *md; libvlc_media_player_t *mp; const char * file0 = test_default_sample0;//file vlc = libvlc_new (argc, argv); md = libvlc_media_new_path (vlc, file0);
• 而demux部分首先要解析TS流的信息。TS 格式是MPEG2协议的一部分,一般,TS通 常是固定188字节的一个packet,一个TS流 可以包含多个program(节目),一个 program又可以包含多个视频、音频、和文 字信息的ES流;每个ES流会有不同的PID 标示。而又为了可以分析这 些ES流,TS有 一些固定的PID用来间隔发送program和es 流信息的表格:PAT和PMT表。 • 对于VLC播放器,使用库libdvbpsi来解析和 编码TS流.(调用代码可以参见VLC源码 /modules/demux/ts.c。)

VLC做流媒体服务器的使用方法

VLC做流媒体服务器的使用方法
第九步:
我们从本机或其他机器“Open Network Stream”
第十步:
在路径中输入“rtsp://IP地址:端口号/路径”。如“rtsp://192.168.0.188:5544/test”。点击“Play”。

第五步:
点击“File”右侧的向下箭头,选择“RTSP”
第六步:
去掉“Activate Transcoding”前面的对号,并且点击“RTSP”右侧的“Add”
第七步:
“Port”端口号自选或者选择默认,“Path”路径自定义,并且选择“Next”
第八步:
选择右下角的“Stream”,流媒体服务器配置完成。
vlc做流媒体服务器的使用方法如何帮助流媒体vlc用vlcvlc如何使用
第一步:
首先,我们打开VLC调试工具(完整版),选择Advanced Open File
第二步:
点击“Add”,选择要作为源的媒体文件
第三步:
在右下角“Play”键的位置点击向下的箭头,xt”

流媒体服务器的配置

流媒体服务器的配置

流媒体服务器的配置一、前言随着互联网技术的不断发展,流媒体服务器在各种网络应用中扮演着越来越重要的角色。

流媒体服务器主要负责处理音频、视频以及其他多媒体数据的传输,提供流畅、高质量的媒体内容。

本文将探讨如何配置一个稳定、高效的流媒体服务器。

二、流媒体服务器硬件选择1、处理器:选择具有高性能处理器的服务器,这样可以提供更快的处理速度,确保流媒体的顺畅播放。

2、内存:选择具有较大内存容量的服务器,这样可以存储更多的媒体数据,提高服务器的响应速度。

3、网络接口:选择具有高速网络接口的服务器,这样可以提供更快的网络传输速度,保证流媒体的实时传输。

4、存储设备:选择具有大容量、高速度的存储设备的服务器,这样可以存储更多的媒体文件,提高服务器的性能。

三、流媒体服务器软件配置1、操作系统:选择稳定的操作系统,例如Linux,因为它具有强大的网络功能和稳定的性能。

2、流媒体软件:选择成熟的流媒体软件,例如Windows Media Services、Real Networks Streaming Server等,它们具有强大的流媒体处理功能。

3、配置网络连接:确保服务器具有稳定的网络连接,以便于媒体内容的传输。

4、配置存储设备:确保存储设备能够满足服务器的需求,并提供足够的存储空间。

四、流媒体服务器安全配置1、防火墙:配置防火墙以防止未经授权的访问和攻击。

2、安全策略:制定安全策略以保护服务器免受恶意攻击。

3、定期更新:定期更新服务器软件和操作系统,以确保服务器的安全。

五、总结配置一个稳定、高效的流媒体服务器需要考虑多个方面,包括硬件选择、软件配置以及安全配置。

只有充分考虑到这些因素,才能建立一个满足需求的流媒体服务器。

希望本文能够帮助大家了解如何进行流媒体服务器的配置。

流媒体服务器的搭建随着互联网的快速发展,流媒体技术已经成为了一种重要的信息传播方式。

流媒体服务器是流媒体技术的核心组成部分,可以实现音视频数据的实时传输、存储和播放等功能。

vlc做流媒体播放器(里面有好多知识点哦亲).doc

vlc做流媒体播放器(里面有好多知识点哦亲).doc

vlc的应用之一:在命令行下的使用2008-11-28 13:45:34标签:command休闲line职场vlc原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。

否则将追究法律责任。

/539865/115910如果编译得到没有界面的vlc,双击运行后就没法手动选打文件或网络了。

在这介绍几个vlc的命令行命令。

1. vlc帮助vlc --helporvlc --help --advanced2. vlc的debug logvlc -vv --extraintf=logger运行的log将会保存在vlc-log.txt中。

3. vlc打开文件vlc -vv --extraintf=logger d:/01.avi4. 作为服务器通过rtp往客户端发送ts流vlc -vvv --extraintf=logger d:/01.avi :sout=#duplicate{dst=rtp{dst=localhost,m ux=ts,port=1234}}5. 作为客户端接收rtp流vlc -vv --extraintf=logger rtp://@:1234vlc的应用之二:vlc的ActiveX及cab2008-11-28 15:38:01标签:vlc休闲cab职场ActiveX原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。

否则将追究法律责任。

/539865/1159432009-05-14补充:8. Activex的卸载;9. 让vlc自动安装Activex ;10. 关于vlc的Activex的说明。

vlc自带了ActiveX控件--axvlc.dll,在编译完vlc之后的activex文件夹下。

ActiveX是个好东西,axvlc.dll可以随意放到任何位置,成功注册之后可以方便的应用在程序和网页之中。

可以参考activex文件夹下的test.html和README.TXT。

组播服务器的架设

组播服务器的架设

组播服务器的架设
一、服务器架设
1、选择需要播放的媒体文件
打开VLC软件,点击->媒体->串流,再弹出的对话框中选择文件,然后添加我们需要播放的文件,点击->串流
2、设置流媒体播出协议与组播地址/端口
点击->目标,在新目标项中的下拉列表中选择上方图示的选项,将在本地现实√上,然后点击添加,在地址栏中填写你设置的组播地址和端口号,根据文件格式选择转码方式,然后点击串流
3、根据实际网络情况设置TTL
在流输出项中,根据网络情况选择TTL值,点击“串流”,完成对服务器的配置二、客户端架设
在另一台机器上打开VLC软件,点击->媒体->打开网络串流
在弹出的页面中,选择“网络”,在选项中,输入服务器端设置的组播地址,然后点击点播就能开始正常播放
注:测试时,请将交换机的组播功能开启,另将服务器和客户端的防火墙关闭。

VLC架构和流程的详细解释文档

VLC架构剖析1. Vid eoLan简介1.1 videolan组成Videolan有以下两部分组成:VLC:一个最主要的部分,它可以播放各种类型的媒体文件和流媒体文件,并且可以创造媒体流并保存成各种格式的媒体文件,这些文件的质量要比没保存前的件好。

videolan作为客户端可以播放本地文件,httP://,rtsp://。

VLS:是一种流服务器,专门用来解决流的各种问题,它也具有一些VLC的特征。

videolan作为服务器可以输出httP,rtP,rtsp的流。

1.2 VLC优点VLC是一种跨平台的媒体播放器和流媒体服务器,最初为videolan的客户端,它是一种非常简便的多媒体播放器,它可以用来播放各种各样的音视频的格式文件(MPEG-1、MPEG- 2、MPEG- 4、DivX、WMV、mp3、OGG、Vorbis、AC3、AAC等等)流媒体协议,最具特色的功能是可以边下载边观看Divx媒体文件,并可以播放不完全的AVI文件。

并且支持界面的更改。

VLC支持多种的操作系统,linux(rh9,Debian,Mandrake,Gentoo),BSD,windows,Mac OS X,Be OS,Solaris等等。

支持带菜单的VCD,SVCD,和DVD,数字卫星频道、数字地球电视频道(digital terrestrial television channels),在这些操作系统下通过宽带IPv4、IPv6网络播放线上影片。

此软件开发项目是由法国学生所发起的,参与者来自于世界各地,设计了多平台的支持,可以用于播放网络流媒体及本机多媒体文件,特别是它能直接播放未下载完整的多媒体文件。

下图表示出了VideoLan的解决方案:VideoLan Client是VideoLan项目(一个完整的MPEG-2客户/服务器解决方案)的一个组成部分。

不过VideoLan Client也可以作为一个独立的程序来播放来自硬盘或者DVDROM的MPEG数据流。

流媒体服务器发布方案

流媒体服务器发布方案概述流媒体服务器的出现为视频直播、点播等应用提供了强有力的支持。

本文将介绍一个流媒体服务器发布方案,帮助你快速搭建和发布自己的流媒体服务。

方案概览我们采用了以下方案来搭建和发布流媒体服务器:1.选择合适的流媒体服务器软件:选择一款功能强大、稳定可靠的流媒体服务器软件作为基础,推荐使用Nginx或者Apache作为服务器。

2.准备服务器环境:确保服务器拥有足够的带宽和存储空间,以及良好的网络连接。

选择适合的操作系统,并进行必要的网络设置。

3.安装流媒体服务器软件:按照流媒体服务器软件的指引,将其安装到服务器上。

4.配置流媒体服务器:根据需要,进行流媒体服务器的配置调整,包括监听端口、缓存设置、日志配置等。

5.准备媒体文件:将要发布的媒体文件准备好,包括视频、音频等。

6.发布流媒体:将媒体文件上传到服务器,并根据服务器软件的规则进行配置,发布流媒体。

选择合适的流媒体服务器软件选择合适的流媒体服务器软件是搭建流媒体服务器的第一步。

以下是两个常用的流媒体服务器软件:•Nginx:Nginx是一个高性能的HTTP和反向代理服务器,支持多种协议和媒体格式。

Nginx通过配置流媒体模块,可以实现流媒体服务的发布。

•Apache:Apache是一个流行的web服务器软件,也支持流媒体的发布。

通过配置Apache的模块,可以实现流媒体的分发和缓存。

选择合适的服务器软件取决于你的需求、对性能的要求以及你对服务器软件的熟悉程度。

准备服务器环境在正式安装流媒体服务器软件之前,确保服务器满足以下要求:•带宽和存储空间:流媒体服务器需要足够的带宽和存储空间来提供高质量的流媒体服务。

根据用户数量和服务质量要求确定带宽和存储空间的需求。

•网络连接:良好的网络连接对流媒体服务器至关重要。

确保服务器与用户端的网络连接良好,以避免中断或卡顿现象。

•操作系统:选择适合自己的操作系统作为服务器的基础环境,常见的操作系统有Linux、Windows Server等。

怎样架设流媒体服务器

怎样架设流媒体服务器欢迎大家来到店铺,小编为大家讲解怎样架设流媒体服务器,欢迎大家阅读。

一、前言随着越来越多的朋友开始选择ADSL、Cable Modem或FTTB+ LAN作为首要的上网方式,宽频时代即将到来,这使我们“宽频KTV、影音聊天室、线上电影院、远程教育”的梦想即将成为现实,而与其密切相关的“流媒体(Streaming Media)”也成了许多人谈论的热门话题,因为“流媒体”正是实现这些宽频应用的技术动力。

宽频时代的到来还使得网民们不再满足于仅仅作为一项服务的受众,他们需要更大规模的交流,从中体现个体的价值,因此,许多朋友开始用自己的计算机,搭建网络广播和点播站点。

他们充满着满腔的热情,但不可否认的是,中国网民先天技术上的不足,让他们在建设这样的站点时遇到重重险阻,以至于放弃。

如何将这种热情在技术的引导下成为动力,这正是我们家用电脑所要做的,所以,在今天,在这里,我就将给大家介绍如何打造属于自己的流媒体服务器。

不过,在开始正式的流媒体服务器架设之前,请让我们先了解一下流媒体服务器的基础知识。

二、流媒体基础知识什么是流媒体?目前,在网络上传输音/视频等多媒体信息有两种解决方案,即http或ftp下载以及流式传输。

http或ftp下载使用标准的http和ftp协议,但由于多媒体信息个头巨大,下载一个多媒体文件一般需要几分钟或几小时的时间,这就造成为了看一个并不知道内容的视频,首先需要耗费可能比整个视频都要长的时间来完成下载。

这些被下载的文件还必须在下载前制作完成,放在网络服务器上,这样造成的直接后果就是:网络带宽不断提高,人们下载的等待时间越来越少,但最终还是不能观看网上现场直播。

流式传输时,声音、影像或动画等多媒体信息由流媒体服务器向用户计算机连续、实时传送,它首先在使用者端的电脑上创建一个缓冲区,于播放前预先下载一段资料作为缓冲,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。

网易视频云:流媒体服务器原理和架构解析

网易视频云:流媒体服务器原理和架构解析一个完整的多媒体文件是由音频和视频两部分组成的,H264、Xvid等就是视频编码格式,MP3、AAC等就是音频编码格式,字幕文件只是附加文件。

目前大部分的播放器产品对于H.264 + AAC的MP4编码格式支持最好,但是MP4也有很多的缺点,比如视频header很大,影响在线视频网站的初次加载时间。

为了降低头部体积,需要进行视频本身的物理分段等等。

对MPEG2-TS格式视频文件进行物理切片,分成一小段,这种方式被Apple公司的HTTP Live Streaming (HLS)技术采用。

另外一种是使用Fragmented MP4文件格式,这是一种文件内部的逻辑分割方式,而视频文件还是完整的,这种技术被Microsoft Smooth Streaming和Adobe HTTP Dynamic Streaming采用。

很多在线视频网站在带宽耗费的压力下,主要选择的是adobe公司提供的FLV或F4V,FLV是流媒体封装格式,可将其数据看为二进制字节流。

总体上看,FLV包括文件头(File Header)和文件体(File Body)两部分,其中文件体由一系列的Tag及Tag Size对组成。

流媒体传输类型流媒体在播放前不是完全下载整个文件,而是把开始部分内容存入内存,数据流是随时传送随时播放。

流媒体服务器提供的流式传输方式有两种:顺序流式传输和实时流式传输两种方式。

顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体。

如果使用普通的HTTP服务器,将音视频数据以从头至尾方式发送,则为顺序流媒体传输。

实时流式传输总是实时传送,特别适合现场事件。

一般来说,如果视频为现场直播,或使用专用的流媒体服务器,或应用如RTSP等专用实时协议,即为实时流媒体传输。

实时流式传输必须匹配连接带宽,这意味着图像质量会因网络速度降低而变差。

在流式传输时,流媒体数据具有实时性,等时性等基本特点,流服务期和客户终端要保证各种媒体间的同步关系,因此,流媒体传输对“最大延时”,“延时抖动”等QoS参数都有严格要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档