资源简介
通过websocket传输裸H264到网页通过html5 video标签解码
参考博客https://blog.csdn.net/g0415shenw/article/details/80372580
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
///
/// 作者:笨鸟先飞g0415shenw
/// 音视频交流qq群:759117824
/// 博客:https://blog.csdn.net/g0415shenw
/// 欢迎大家留言入群交流
///
namespace H5WebSocket
{
class Program
{
static List m_BufH264 = new List();
static FileStream m_fs = new FileStream(“bigbuckbunny_480x272.h264“ FileMode.Open);
static int m_iHaveRead = 0;
static int m_iReadLenth = 1024;
static byte[] m_H264frame;
static void Main(string[] args)
{
StartWebSocket();
Console.ReadKey();
}
async static void StartWebSocket()
{
var listener = new HttpListener();
listener.Prefixes.Add(“http://127.0.0.1:8080/“);
listener.Start();
while(true)
{
var context = listener.GetContext();
var wsContext = await context.AcceptWebSocketAsync(null);
var ws = wsContext.WebSocket;
Console.WriteLine(“WebSocket connect“);
//create H264 send thread
await Task.Run(() =>
{
while(true)
{
if(ReadOneframeFromFile())
{
ws.SendAsync(new ArraySegment(m_H264frame) System.Net.WebSockets.WebSocketMessageType.Binary true new System.Threading.CancellationToken());
Thread.Sleep(25);
}
else
{
ws.Dispose();
return;
}
}
});
}
}
static bool ReadOneframeFromFile()
{
while(!GetOneframe())
{
if ((m_iHaveRead + m_iReadLenth) < m_fs.Length)
{
byte[] bRead = new byte[m_iReadLenth];
m_fs.Read(bRead 0 m_iReadLenth);
m_BufH264.AddRange(bRead);
}
else
{
return false;
}
}
return true;
}
static bool GetOneframe()
{
if(m_BufH264.Count<=8)
{
return false;
}
int iCount = 0;
for (int i = 4;i {
if(m_BufH264[i]==0 && m_BufH264[i+1] == 0&& m_BufH264[i+2] == 0&& m_BufH264[i+3] == 1)
{
iCount = i;
break;
}
}
if(iCount>0)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 658 2018-05-19 11:02 H5WebSocket\.gitignore
文件 187 2018-05-19 07:21 H5WebSocket\App.config
文件 678 2018-05-19 10:50 H5WebSocket\bin\Debug\.gitignore
文件 626669 2015-07-15 16:19 H5WebSocket\bin\Debug\bigbuckbunny_480x272.h264
文件 8192 2018-05-19 12:51 H5WebSocket\bin\Debug\H5WebSocket.exe
文件 187 2018-05-19 07:21 H5WebSocket\bin\Debug\H5WebSocket.exe.config
文件 15872 2018-05-19 12:51 H5WebSocket\bin\Debug\H5WebSocket.pdb
文件 721 2018-05-19 09:47 H5WebSocket\demo\index.html
文件 143263 2018-05-19 09:47 H5WebSocket\demo\wfs.js
文件 2258 2018-05-19 07:21 H5WebSocket\H5WebSocket.csproj
文件 42 2018-05-19 10:50 H5WebSocket\obj\Debug\H5WebSocket.csproj.CoreCompileInputs.cache
文件 669 2018-05-19 11:01 H5WebSocket\obj\Debug\H5WebSocket.csproj.FileListAbsolute.txt
文件 8059 2018-05-19 10:50 H5WebSocket\obj\Debug\H5WebSocket.csprojAssemblyReference.cache
文件 8192 2018-05-19 12:51 H5WebSocket\obj\Debug\H5WebSocket.exe
文件 15872 2018-05-19 12:51 H5WebSocket\obj\Debug\H5WebSocket.pdb
文件 0 2018-05-19 10:50 H5WebSocket\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2018-05-19 10:50 H5WebSocket\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2018-05-19 10:50 H5WebSocket\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 3370 2018-05-19 11:05 H5WebSocket\Program.cs
文件 1320 2018-05-19 07:21 H5WebSocket\Properties\AssemblyInfo.cs
目录 0 2018-05-19 10:50 H5WebSocket\obj\Debug\TempPE
目录 0 2018-05-19 10:50 H5WebSocket\bin\Debug
目录 0 2018-05-19 11:01 H5WebSocket\obj\Debug
目录 0 2018-05-19 07:21 H5WebSocket\bin
目录 0 2018-05-19 09:47 H5WebSocket\demo
目录 0 2018-05-19 10:50 H5WebSocket\obj
目录 0 2018-05-19 07:21 H5WebSocket\Properties
目录 0 2018-05-19 11:05 H5WebSocket
----------- --------- ---------- ----- ----
836209 28
............此处省略1个文件信息
相关资源
- 调用电子口岸IC卡/UKEY控件WebSocket方式
- 95个HTML5微信小游戏源码
- HTML5网站设计模板(静态)
- 移动端html5页面翻页
- HTML5作业里面有超链接有CSS,适合学生
- HTML5+CSS3中文参考手册(3手册) chm版
- 高仿淘宝店html网页模板
- 仿京东前端页面
- 个人主页简历HTML模板
- WebUploader是一个简单的以HTML5为主现代
- html5选择当地城市天气预报代码.zip
- HTML5微信朋友圈图片放大手机相册效果
- HTML5国外鞋子品牌商城模板.zip
- HTML5中国象棋游戏.zip
- HTML5响应式个人博客网站模板.zip
- HTML5医院官方网站模板首页
-
HTML+CSS+ja
vasc ript国外婚纱摄影企业 - 企业官方网站模板
- 基于HTML5 WebGL的图像扭曲变形动画特效
- 汽车租赁HTML5响应式模板
- 个性名片HTML5模板
- HTML5雨滴滑落动画及天气预报代码
- 汉堡美食餐饮HTML5模板
- HTML5+JS实现的全屏星空特效源码
- 使用HTML5编写的移动端仿途牛页面
- 使用HTML5编写的移动端仿淘宝页面
- 720度全景场景HTML5源码直接在浏览器中
- html5bootstrap实现博客系统前端页面
- 简约左侧菜单HTML5全屏网站 html5响应式
- 计算机毕业翻译文献HTML5相关
评论
共有 条评论