资源简介
live555Camera用live555摄像头直播,全源代码,播放时有延时,希望大家改进。
代码片段和文件信息
//////////////////////////////////////////////////////////////////////
// Video Capture using DirectShow
// Author: Shiqi Yu (shiqi.yu@gmail.com)
// Thanks to:
// HardyAI@OpenCV China
// flymanbox@OpenCV China (for his contribution to function CameraName and frame width/height setting)
// Last modification: April 9 2009
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// 使用说明:
// 1. 将CameraDS.h CameraDS.cpp以及目录DirectShow复制到你的项目中
// 2. 菜单 Project->Settings->Settings for:(All configurations)->C/C++->Category(Preprocessor)->Additional include directories
// 设置为 DirectShow/Include
// 3. 菜单 Project->Settings->Settings for:(All configurations)->link->Category(Input)->Additional library directories
// 设置为 DirectShow/Lib
//////////////////////////////////////////////////////////////////////
// CameraDS.cpp: implementation of the CCameraDS class.
//
//////////////////////////////////////////////////////////////////////
//#include “stdafx.h“
#include “CameraDS.h“
#include “convert.h“
#pragma comment(lib“Strmiids.lib“)
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
int CCameraDS::m_iRefCnt = 0;
CCameraDS::CCameraDS()
{
m_bConnected = false;
m_nWidth = 0;
m_nHeight = 0;
m_bLock = false;
m_bChanged = false;
//m_pframe = NULL;
m_pYUVData = NULL;
m_pImgData = NULL;
m_nBufferSize = 0;
m_pNullFilter = NULL;
m_pMediaEvent = NULL;
m_pSampleGrabberFilter = NULL;
m_pGraph = NULL;
CoInitialize(NULL);
}
CCameraDS::~CCameraDS()
{
CloseCamera();
CoUninitialize();
}
void CCameraDS::CloseCamera()
{
m_iRefCnt--;
if(m_iRefCnt > 0)
{
return;
}
if(m_bConnected)
m_pMediaControl->Stop();
m_pGraph = NULL;
m_pDeviceFilter = NULL;
m_pMediaControl = NULL;
m_pSampleGrabberFilter = NULL;
m_pSampleGrabber = NULL;
m_pGrabberInput = NULL;
m_pGrabberOutput = NULL;
m_pCameraOutput = NULL;
m_pMediaEvent = NULL;
m_pNullFilter = NULL;
m_pNullInputPin = NULL;
//if (m_pframe)
// cvReleaseImage(&m_pframe);
delete(m_pImgData);
m_pImgData = NULL;
delete m_pYUVData;
m_pYUVData = NULL;
m_bConnected = false;
m_nWidth = 0;
m_nHeight = 0;
m_bLock = false;
m_bChanged = false;
m_nBufferSize = 0;
}
bool CCameraDS::OpenCamera(int nCamID int nWidth int nHeight)
{
if(nCamID >= CameraCount())
{
return false;
}
m_iRefCnt++;
if(m_iRefCnt > 1)
{
return true;
}
bool bDisplayProperties = false;
HRESULT hr = S_OK;
CoInitialize(NULL);
// Create the Filter Graph Manager.
hr = Co
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 622080 2013-07-21 22:50 live555Camera_Win\yasm-1.1.0-win32.exe
文件 283 2013-07-21 22:54 live555Camera_Win\ReadMe.txt
文件 5650 2013-11-29 14:15 live555Camera_Win\live555Camera_Win.sln
文件 131072 2013-07-21 22:46 live555Camera_Win\Release\libfaac.dll
文件 67 2013-08-03 10:07 live555Camera_Win\Release\config.ini
文件 4355 2013-07-21 22:47 live555Camera_Win\libfaac\fr
文件 4475 2013-07-21 22:47 live555Camera_Win\libfaac\bitstream.h
文件 280 2013-07-21 22:47 live555Camera_Win\libfaac\libfaacdrm.def
文件 3171 2013-07-21 22:47 live555Camera_Win\libfaac\libfaac.vcxproj.filters
文件 2136 2013-07-21 22:47 live555Camera_Win\libfaac\aacquant.h
文件 13270 2013-07-21 22:47 live555Camera_Win\libfaac\backpred.c
文件 2854 2013-07-21 22:47 live555Camera_Win\libfaac\util.c
文件 16071 2013-07-21 22:47 live555Camera_Win\libfaac\fft.c
文件 1653 2013-07-21 22:47 live555Camera_Win\libfaac\backpred.h
文件 1781 2013-07-21 22:47 live555Camera_Win\libfaac\util.h
文件 1658 2013-07-21 22:47 live555Camera_Win\libfaac\fft.h
文件 11816 2013-07-21 22:47 live555Camera_Win\libfaac\psychkni.c
文件 22293 2013-07-21 22:47 live555Camera_Win\libfaac\filtbank.c
文件 5917 2013-07-21 22:47 live555Camera_Win\libfaac\channels.c
文件 73 2013-07-21 22:47 live555Camera_Win\libfaac\.cvsignore
文件 12766 2013-07-21 22:47 live555Camera_Win\libfaac\ltp.c
文件 1903 2013-07-21 22:47 live555Camera_Win\libfaac\filtbank.h
文件 1460 2013-07-21 22:47 live555Camera_Win\libfaac\channels.h
文件 5716 2013-07-21 22:47 live555Camera_Win\libfaac\coder.h
文件 5562 2013-07-21 22:47 live555Camera_Win\libfaac\libfaac.vcproj
文件 22796 2013-07-21 22:47 live555Camera_Win\libfaac\tns.c
文件 1499 2013-07-21 22:47 live555Camera_Win\libfaac\ltp.h
文件 2231 2013-07-21 22:47 live555Camera_Win\libfaac\tns.h
文件 4445 2013-07-21 22:47 live555Camera_Win\libfaac\midside.c
文件 1365 2013-07-21 22:47 live555Camera_Win\libfaac\midside.h
............此处省略804个文件信息
相关资源
- Linux基于Live555获取rstp实时264视频流并
- live555 RTSP RTCP RTP。live555类关系图,
- 一个h.264文件,可以作为live555的测试
- Windows下利用live555实现H264实时流RTSP发
- live555实现H264实时流进行RTSP发送
- 基于hi3531的live555发送h264
- live555-20181214基于ARM-linux从网络摄像机
- vs2013 live555流媒体服务 直播点播编译
- 基于live555实现的rtsp点播客户端,并将
- Live555_2017-vs2015 x64 x86 完全编译版本(
- live555流媒体服务器windows版
- Linux基于Live555从共享内存 获取rstp实时
- live555 的openRTSP 改写
- live555代理服务器
- 基于Live555的从多个摄像头实时获取
- Live555基于h264嵌入式linux下rtsp项目的裁
- testRTSPClient+mp4v2录制mp4
- live555MediaServer.exe
- Live555 Media Server是一个纯粹的RTSP服务
- V4L2+FFMPEG+live555实现流媒体服务端
评论
共有 条评论