关于大华录像问题,录像无法使用其他播放器播放

a1030700831 2017-09-21 10:04:00
大华的录像文件无法用VLC视频播放器打开,用大华的播放器可以播放。我用图片中的接口回调h264的数据无法不放,应该是大华给封装了.可是我不知道他们怎么封装的.就想问问大佬们怎么去解析大会回传的这个流

bIsOk = DHOriginalSDK.CLIENT_SetRealDataCallBackEx((IntPtr)m_itfCameraControl.rHandle, m_RealDataCallBack, dUser, 0x02);
这是调用接口.。下面是实现回调函数,一个简单的测试。
private void RealDataCallBack(IntPtr lRealHandle, uint dwDataType, IntPtr pBuffer, uint dwBufSize, int param, IntPtr dwUser)
{
FileStream fs = null;

try
{
if (string.IsNullOrEmpty(this.m_strVedioFilePath) ||
string.IsNullOrWhiteSpace(this.m_strVedioFilePath)) throw new Exception();

byte[] destination = new byte[(int)dwBufSize];


if (dwBufSize != null & dwBufSize > 0)
{
Marshal.Copy(pBuffer, destination, 0, (int)dwBufSize);

byte[] Datadestination = new byte[destination.Length];

Array.Copy(destination, 0, Datadestination, 0, Datadestination.Length);
//SWLogger.LogInfo("流数据为:"+ BitConverter.ToString(destination));
fs = new FileStream(this.m_strVedioFilePath, FileMode.Append, FileAccess.Write);

fs.Write(Datadestination, 0, Datadestination.Length);
//fs.Write(destination, 0, destination.Length);
}
}
catch (Exception ex)
{
SWLogger.LogError("在解码数据是报错了:" + ex.Message);
}
finally
{
//@! 所有流类型都要关闭流,否则会出现内存泄露问题
if (null != fs)
{
fs.Flush();
fs.Close();
fs = null;
}
}
}
有没做视频解析的大佬们啊




这是部分流数据,他的包头大佬们看看是不是可以看得懂。
...全文
1921 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sam-Richard 2019-07-12
  • 打赏
  • 举报
回复
最鄙视这种垃圾公司自己设计一套数据格式. 不兼容其它厂家.作死的节奏
a1030700831 2017-09-21
  • 打赏
  • 举报
回复
没人吗 自己顶

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧