VLC接收RTP的H264流串流成OGGT向HTTP发送,可以直接用HTML5播放
//使用方法:启动线程
HANDLE hThread1 = (HANDLE)_beginthreadex(NULL, 0, ThreadStreamFuc, NULL, 0, NULL);
if( hThread1 != NULL )
{
CloseHandle(hThread1);
}
unsigned __stdcall ThreadStreamFuc( PVOID pvParm )
{
// /* :sout-all :sout-keep这两个参数不能带,带了会解码失败*/
// //sout="#transcode{vcodec=theo,vb=800,acodec=vorb,ab=128,channels=2,samplerate=44100}:http{mux=ogg,dst=:8080/stream} :sout-all :sout-keep";
//
// /*
// cvlc -vvv rtsp://admin:admin12345@192.168.0.3:554/MPEG-4/ch1/main/av_stream
// --sout "#transcode{vcodec=theo,vb=800,fps=25,scale=1,acodec=h264,ab=128,channels=2,samplerate=44100}:http{mux=ogg,dst=:10001/stream}"
// --sout-keep
// */
//
// //sout="#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}:file{dst=e:\\\\my.mp4,no-overwrite}";
// //Screen Capture
// //url = "screen://";
//取RTP H264视频流转为OGG推送到HTTP。
const char *sout="#transcode{vcodec=theo,vb=800,acodec=vorb,ab=128,channels=2,samplerate=44100}:http{mux=ogg,dst=:8080/stream}";
if (url == NULL)
{
url = "E:\\dfb_work\\VS2008\\FFMPEGTEST\\Debug\\my110.h264";//从文件取流
url = "rtp://@10.3.241.53:5004";//从RTP取流。//
url = "rtp://@239.1.1.1:5004";
url = "rtp_ps.sdp";//RDP需要的SDP文件
}
const char *media_name = url;
vlc = libvlc_new(0, NULL);
libvlc_vlm_add_broadcast(vlc, media_name, url, sout, 0, NULL, true, false);
libvlc_vlm_play_media(vlc, media_name);
cout<<"\nvlc play media loop\n"<<endl;
bool blExit = false;
bool blSipExit = false;
while(1)
{
EnterCriticalSection(&s_Lock);//处理退出 一般在SIP停止接收后退出。
blExit = s_blExit;
blSipExit = s_blSipExit;
LeaveCriticalSection(&s_Lock);
if (blExit && blSipExit)//待SIP退出服务后再退出。这样最后就可以销毁工作了。
{
break;
}
Sleep(10);
}
libvlc_vlm_stop_media(vlc, media_name);
libvlc_vlm_release(vlc);
cout<<"\nvlc play media =====end========\n"<<endl;
vlc = NULL;
return 0;
}
/*
SDP文件内容:
v=0
o=- 20140233 20140238 IN IP4 10.3.240.155 //#1 IP为接收RTP流的计算机IP
s=rtp PS stream
i=N/A
c=IN IP4 10.3.240.155 //#2 IP为接收RTP流的计算机IP
t=0 0
a=tool:ACME RTSP server
a=recvonly
a=type:broadcast
a=charset:UTF-8
a=framerate:16
m=video 6000 RTP/AVP 96 //#3 ,端口要是偶数
b=RR:0
a=rtpmap:96 MP2P/90000
*/
VLC接收RTP的H264流串流成OGGT向HTTP发送,可以直接用HTML5播放相关推荐
- live555增强版--支持串流mp4格式
live555目前最新版(0.75)的mediaServer只支持".m4e"格式的Elementary Stream fie,但并不支持串流mp4封装格式的文件,要串流mp4格式 ...
- VLC接收网络串流缓冲时间的计算
VLC版本2.0.1 最近研究IP-STB音视频同步问题,发现方案自带的自动STC在网络延时过大时,不能成功同步音视频.在参考了VLC的串流播放机制后,以为适当缓冲可以解决此问题,可惜最终结果是稍有缓 ...
- vlc linux将摄像头串流,vlc的应用之九:用vlc串流摄像头
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://jeremiah.blog.51cto.com/539865/24550 ...
- vlc的应用之九:用vlc串流摄像头
0. 环境搭建 Jeremiah这次主要是用的vlc-1.0.0(英文版)进行讲解.首先需要准备摄像头,Jeremiah用的是一个普通摄像头(以前钓MM用的,嘻嘻),驱动安装好后,在"我的电 ...
- 使用vlc串流http视频链接
使用vlc串流http视频链接 使用windowsGUI 使用windows命令行 使用linux命令行 使用windowsGUI 媒体---->打开网络串流 填入链接 下拉播放按钮,点击串流 ...
- VLC -- 使用VLC串流播放视频
VLC -- VLC串流播放视频方式 打开VLC后,在"媒体"菜单选择"流"选项,并添加一个即将要串流的视频文件: 然后点击串流按钮,进入如下页面: 该页面显示 ...
- FFMPEG API函数根据SDP文件接收RTP媒体流
背景 版本ffmpeg 3.3.3:使用 FFmpeg实时接收rtp 音频和视频流,并生成视频文件. 在网上查阅了大量资料,基本上都是使用命令行来接收rtp媒体流的,由于项目中不得不使用ffmpeg接 ...
- VLC电脑串流视频到手机播放
目标 用电脑把电脑本地的视频文件串流出去,手机上接收播放. 缺点是手机上不能拖动进度条. 条件 手机和电脑处在同一局域网 知道电脑和手机的IP地址 电脑上安装VLC播放器,手机安装支持串流的APP,例 ...
- 【嵌入式开发】用 VLC 显示 树莓派摄像头 H264 裸流
首先树莓派连上网络,并和电脑在同一网段. 树莓派的IP是: 192.168.3.13 电脑的IP是: 192.168.3.6 1.在树莓派上采集 H264裸流,并用UDP发送到电脑. pi@Neil- ...
- VLC设置串流的TTL值
VLC设置串流的TTL值 在用vlc播放组播时发现,直接网线连通的两台电脑可以正常的看组播视频,而通过路由器转发就不行了,后面发现是ttl出了问题 设置VLC的TTL 工具->偏好设置-> ...
最新文章
- MySQL使用sql备份文件恢复数据库
- C#教程4:数据类型
- 第一次听人用男女关系讲 N(Non-Blocking)I(进)O(出),涨姿势了
- 初识ABP vNext(3):vue对接ABP基本思路
- nginx root与alias区别
- 5G学习-3GPP协议入门
- HTML+CSS系列实战之表格
- LabVIEW自动整理程序框图
- 小程序如何跳转到第三方H5页面
- 概率问题的求解 —— 样本空间
- ./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file:
- GoLang-4(switch)
- matlab仿真plant函数,(整理)matlab预测控制工具箱函数.
- HDU 4545-魔法串
- Rodney Brooks: 我们需要更理性看待人工智能技术
- 蛙跳差分格式(非恒定流)
- 基于jsp的新闻发布系统(论文)
- Magics分割拆分模型方法
- android 在线颜色转换工具,颜色转换器下载_v1.3.1安卓客户端_MDPDA手机网
- NetBeans 生成代码调用webService调用sopa