现在有越来越多的人在使用C#语言做编程,但我发现好像用C#做音视频流媒体开发的比较少。我们的libEasyScreenLive目前支持Windows,Android平台,通过EasyScreenLive我们就可以避免接触到稍显复杂的音视频源采集,编码和流媒体推送以及RTSP/RTP/RTCP/RTMP服务流程。

本文给大家介绍一下C#中读取流媒体视频文件转H.264具体实现方法。

private void Test(){byte[] buffer;//c#文件流读文件 using (FileStream fsRead = new FileStream(videoName, FileMode.Open, FileAccess.Read)){int fsLen = (int)fsRead.Length;buffer = new byte[fsLen];int r = fsRead.Read(buffer, 0, buffer.Length);} PsToH264(buffer);}public void PsToH264(byte[] buffer){_publicByte = copybyte(_publicByte, buffer);int i = 0;int BANum = 0;int startIndex = 0;if (buffer == null || buffer.Length < 5){return;}int bytes = _publicByte.Length - 4;while (i < bytes){if (_publicByte[i] == 0x00 && _publicByte[i + 1] == 0x00 && _publicByte[i + 2] == 0x01 && _publicByte[i + 3] == 0xBA){BANum++;if (BANum == 1){startIndex = i;}if (BANum == 2){break;}}i++;}if (BANum == 2){int esNum = i - startIndex;byte[] psByte = new byte[esNum];Array.Copy(_publicByte, startIndex, psByte, 0, esNum);try{//处理psBytedoPsByte(psByte);}catch (Exception ex){Console.WriteLine("===============" + ex.Message + ex.StackTrace.ToString());}byte[] overByte = new byte[_publicByte.Length - i];Array.Copy(_publicByte, i, overByte, 0, overByte.Length);_publicByte = overByte;}}

C#中读取流媒体视频文件转H.264具体实现方法相关推荐

  1. OpenCV中VideoWriter输出视频文件为空或6KB解决方法(java)

    最近因项目需要,刚刚开始接触OpenCV.使用videoWriter将处理完的视频帧转换为视频存到磁盘时视频大小总是为0KB(mp4)或者6KB(AVI).查找资料都说是视频编码的问题,但是换了好几种 ...

  2. python播放本地视频_python opencv 读取本地视频文件 修改ffmpeg的方法

    Python + opencv 读取视频的三种情况: 情况一:通过摄像头采集视频 情况二:通过本地视频文件获取视频 情况三:通过摄像头录制视频,再读取录制的视频 摄像头采集.本地视频文件的读取.写视频 ...

  3. Android 扫描SD卡中的所有视频文件

    Android应该是已经把所有的视频文件音频都在开机时,扫描完毕然后存在本地SQLite数据库了,因此,我们"扫描"的最简单方法是读取这个已经存储好的数据库.但是这样做,在程序开启 ...

  4. sublime python3中读取和写入文件时如何解决编码问题

    sublime python3中读取和写入文件时如何解决编码问题 参考文章: (1)sublime python3中读取和写入文件时如何解决编码问题 (2)https://www.cnblogs.co ...

  5. 计算机目录读取,从项目目录中读取SQL查询文件(Read SQL query file from project directory)...

    从项目目录中读取SQL查询文件(Read SQL query file from project directory) 我在Visual Studio项目中放置了3个特别大的SQL查询,位于项目目录中 ...

  6. matlab 十六进制数组,【MATLAB】MATLAB中读取二进制数据文件并加入到矩阵中

    MATLAB中读取二进制数据文件并加入到矩阵中的应用如下: 如果对c语言十分熟悉的话,应该对fopen,fclose,ftell,fseek,fread,fwrite,feof 这些函数非常熟悉了,在 ...

  7. 【转】C++中#include包含头文件带 .h 和不带 .h 的区别

    C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些 ...

  8. dede织梦编辑器中插入mp4视频文件方法

    dede织梦编辑器中插入****mp4****视频文件方法 场景: 织梦建站的时候 上传mp4视频不成功 思路: a. 登录后台->系统->系统基本参数->附件设置 查 允许上传的文 ...

  9. java 读取音频/视频 文件时长

    java 读取音频/视频 文件时长 支持mp3,mp4,mov,m4a,wav 格式文件 源码 https://github.com/opensourceteams/java-maven-projec ...

最新文章

  1. 【转】开放api接口签名验证
  2. python入门到精通需要学多久-入门到精通python要多久
  3. python中的偏函数
  4. 转移的目的地址在指令中的jmp指令 转移地址在寄存器中的jmp指令
  5. 微软推出新语言Bosque,超越结构化程序设计
  6. html5执行shell,利用nginx执行Shell 脚本
  7. KnockoutJS 3.X API 第五章 高级应用(2) 控制后代绑定
  8. mysql断言命令_mysql的触发模拟断言
  9. spring AOP概念及xml配置
  10. 云计算在我们日常生活中有很多应用,主要有哪些?
  11. html如何设置按钮背景为透明,css 设置按钮(背景色渐变、背景色透明)
  12. volatile与Synchronized的异同
  13. 做嵌入式编程,为什么用的是C语言而不是C++呢?
  14. 凹凸贴图、法线贴图、置换贴图
  15. 不一样的短视频直播软件开发?
  16. android 取消蓝牙配对框 实现自动配对,Android 取消蓝牙配对框实现自动配对功能...
  17. 36招搞定电脑一切难题!!!
  18. window系统如何禁止运行指定程序
  19. [概念]图像分割的历史 + UNet-Family
  20. 从感知觉现象引发的对人工智能的一些思考

热门文章

  1. web应用程序开发过程(百度搬运)
  2. 高校物资采购管理系统
  3. 804半导体物理 中科院半导体所考研经验
  4. 1到n中能被3和7整除的数的和
  5. 一个完整的交互设计步骤有哪些
  6. 集合之CollectionUtils
  7. 认识世界和改造世界 [马原]
  8. 2021.5.3 考研数学基础第一讲——高等数学预备知识
  9. Tauri 入门教程
  10. 【DirectX11】第十篇 其他灯光类型——点光源