资源简介
通过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个文件信息
相关资源
- uploadifive1.2.2 uploadify HTML5
- HTML5 CSS3 :canvas 模拟实现电子彩票刮
- W3C html5 参考手册(教学资源免费)
- html5 2048小游戏
- 强大的后端系统模板HTML5后台页面(
- 黑色个人博客HTML5模板(如影随形)
- HTML5+Canvas手机微信大转盘抽奖代码
- 阿狸的爱情故事(html5模板)
- 2020年千峰教育HTML5教程(网盘链接)
- 仿京东首页Html5模板
- Bootstrap做的简单导航条
- 仿抖音带视频背景的html5网页
- HTML5创意设计师个人简历响应式模板
- HTML5百叶窗开场文字展示特效
- 购物商城 html5+css+JS+Bootstrap前端框架
- 仿京东首页Html5代码
- 企业网站后台管理HTML模板
- HTML5动画背景网站登录界面模板
- HTML5+CSS3实现的图片过滤归类应用特效
- HTML5 Canvas圆形气泡网页背景动画特效
- HTML5 Canvas模糊圆点粒子背景动画特效
- HTML5 Canvas透明丝带飘动背景动画特效
- HTML5 Canvas粒子流动爱心形状动画特效
- HTML5 Canvas浮动彩色粒子背景动画特效
- html5 canvas空间粒子移动背景动画特效
- HTML5 Canvas矩阵粒子波浪背景动画特效
- HTML5高级程序设计(引领下一代Web开发
- html5 头像上传带裁切功能
- HTML5手机移动端头像图片上传裁剪代码
- ht.js html5 canvas2d3d教程手册
评论
共有 条评论