资源简介
这是我博客专栏文章《ONVIF协议网络摄像机(IPC)客户端程序开发》中附带的示例代码。
博客:http://blog.csdn.net/benkaoya
专栏:http://blog.csdn.net/benkaoya/article/details/72424335
代码片段和文件信息
/************************************************************************
**
** 作者:许振坪
** 日期:2017-05-03
** 博客:http://blog.csdn.net/benkaoya
** 描述:读取IPC音视频流数据示例代码
**
************************************************************************/
#include
#include
#include
#include “onvif_comm.h“
#include “onvif_dump.h“
#include “libavcodec/avcodec.h“
#include “libavdevice/avdevice.h“
#include “libavformat/avformat.h“
#include “libavfilter/avfilter.h“
#include “libavutil/avutil.h“
#include “libswscale/swscale.h“
#include “libavutil/pixdesc.h“
/************************************************************************
**函数:open_rtsp
**功能:从RTSP获取音视频流数据
**参数:
[in] rtsp - RTSP地址
**返回:无
************************************************************************/
void open_rtsp(char *rtsp)
{
unsigned int i;
int ret;
int video_st_index = -1;
int audio_st_index = -1;
AVFormatContext *ifmt_ctx = NULL;
AVPacket pkt;
AVStream *st = NULL;
char errbuf[64];
av_register_all(); // Register all codecs and formats so that they can be used.
avformat_network_init(); // Initialization of network components
if ((ret = avformat_open_input(&ifmt_ctx rtsp 0 NULL)) < 0) { // Open the input file for reading.
printf(“Could not open input file ‘%s‘ (error ‘%s‘)\n“ rtsp av_make_error_string(errbuf sizeof(errbuf) ret));
goto EXIT;
}
if ((ret = avformat_find_stream_info(ifmt_ctx NULL)) < 0) { // Get information on the input file (number of streams etc.).
printf(“Could not open find stream info (error ‘%s‘)\n“ av_make_error_string(errbuf sizeof(errbuf) ret));
goto EXIT;
}
for (i = 0; i < ifmt_ctx->nb_streams; i++) { // dump information
av_dump_format(ifmt_ctx i rtsp 0);
}
for (i = 0; i < ifmt_ctx->nb_streams; i++) { // find video stream index
st = ifmt_ctx->streams[i];
switch(st->codec->codec_type) {
case AVMEDIA_TYPE_AUDIO: audio_st_index = i; break;
case AVMEDIA_TYPE_VIDEO: video_st_index = i; break;
default: break;
}
}
if (-1 == video_st_index) {
printf(“No H.264 video stream in the input file\n“);
goto EXIT;
}
av_init_packet(&pkt); // initialize packet.
pkt.data = NULL;
pkt.size = 0;
while (1)
{
do {
ret = av_read_frame(ifmt_ctx &pkt); // read frames
} while (ret == AVERROR(EAGAIN));
if (ret < 0) {
printf(“Could not read frame (error ‘%s‘)\n“ av_make_error_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3779 2017-05-19 10:57 snapshot\main.c
文件 361 2017-05-19 10:57 snapshot\Makefile
文件 5812 2017-05-19 10:57 systemtime\main.c
文件 363 2017-05-19 10:57 systemtime\Makefile
文件 880 2017-05-19 10:57 VS2010\project.sln
文件 5596 2017-05-19 10:57 VS2010\project.vcxproj
文件 482 2017-05-19 10:57 VS2010\project.vcxproj.user
文件 564 2017-05-19 10:57 Makefile
文件 3161 2017-05-19 10:57 Makefile.inc
文件 464 2017-05-19 10:57 readme.txt
文件 7398 2017-05-19 10:57 avstream\main.c
文件 361 2017-05-19 10:57 avstream\Makefile
文件 611 2017-05-19 10:57 capabilities\main.c
文件 365 2017-05-19 10:57 capabilities\Makefile
文件 14153 2017-05-19 10:57 comm\onvif_comm.c
文件 3589 2017-05-19 10:57 comm\onvif_comm.h
文件 43653 2017-05-19 10:57 comm\onvif_dump.c
文件 2771 2017-05-19 10:57 comm\onvif_dump.h
文件 1657 2017-05-19 10:57 deviceinfo\main.c
文件 363 2017-05-19 10:57 deviceinfo\Makefile
文件 463 2017-05-19 10:57 discovery\main.c
文件 362 2017-05-19 10:57 discovery\Makefile
文件 182538 2017-05-19 10:57 ffmpeg-linux-pc\include\libavcodec\avcodec.h
文件 2654 2017-05-19 10:57 ffmpeg-linux-pc\include\libavcodec\avdct.h
文件 3229 2017-05-19 10:57 ffmpeg-linux-pc\include\libavcodec\avfft.h
文件 2965 2017-05-19 10:57 ffmpeg-linux-pc\include\libavcodec\d3d11va.h
文件 4175 2017-05-19 10:57 ffmpeg-linux-pc\include\libavcodec\dirac.h
文件 3798 2017-05-19 10:57 ffmpeg-linux-pc\include\libavcodec\dv_profile.h
文件 2454 2017-05-19 10:57 ffmpeg-linux-pc\include\libavcodec\dxva2.h
文件 3870 2017-05-19 10:57 ffmpeg-linux-pc\include\libavcodec\qsv.h
............此处省略448个文件信息
相关资源
- onvif协议网络摄像机(IPC)客户端程序
- Onvif基于wsdl编译的客户端代码框架+自
- onvif源码V2.4
- ONVIF2.0中文协议原版.pdf
- RtspRtcpRtpLoad_h264.tar.gz
- 有ssl支持的gsoap/wsdl2h.exe&同时加入我弄
- onvif ptz控制 soap协议
- onvif rtsp流对接
- onvif 文档 中文版
- ONVIF官方手册
- ONVIF2.0协议最新版
- onvif协议SDK中文版
- ONVIF2.0协议中文版本珍藏版
- ONVIF2.0协议珍藏版
- onvif ptz 控制模块代码
- ONVIF RTSP查看助手
- Onvif测试工具v17.01含ODM
- onvif device test tool V16.07
- onvif框架搭建所需源码
- onvif协议源码rtsp,rtp,gb28181等等协议
- ONVIF_Device_TestTool_v19.12_rev5581.zip
- IPCToolSetup.zip
- ONVIF_Device_TestTool_v20.06_rev6086.zip
- Onvif device manager v2.2.250
- ODM onvif测试工具
- onvif官方文档
- ONVIF Device Manager 最新版本源代码
- onvif搜索摄像机CameraDiscovery.rar
- ONVIF_Client_Test_Tool_v20.06_rev_3573.zip
- ONVIF客户端,实现了取流,PTZ,获取设
评论
共有 条评论