91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8.51MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2024-01-31
  • 語言: 其他
  • 標簽: ffmpeg??解碼??

資源簡介

這里是利用FFmpeg獲取網絡攝像頭的數據,然后解碼播放。 開發環境:win7+opencv3.0+ffmpeg+VS2013

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?“queue.h“

extern?“C“
{
#include?
#include?
#include?
}

#pragma?comment(lib?“avcodec.lib“)
#pragma?comment(lib?“avformat.lib“)
#pragma?comment(lib?“avutil.lib“)
#pragma?comment(lib?“swscale.lib“)

using?namespace?std;
using?namespace?cv;

DWORD?WINAPI?opencv_imshow(LPVOID?lparam)
{
result_link_type*?result_link?=?(result_link_type*)lparam;
struct?result_node_datatype?*result_node2?=?NULL;
while?(1)
{
result_node2?=?result_pop(result_link);
if?(result_node2?==?NULL)
{
Sleep(1);
continue;
}
imshow(“frame“?result_node2->result);
waitKey(1);
}
}

int?main(int?argc?const?char?*?argv[])
{
HANDLE?thread1;
result_link_type?*result_link?=?new?result_link_type;
result_link->head?=?result_link->end?=?NULL;
result_link->result_num?=?0;
thread1?=?CreateThread(NULL?0?opencv_imshow?(LPVOID)result_link?0?NULL);

int?i;
int?videoStream;
int?frameFinished;
int?numBytes;
int?ret;
int?got_picture;
long?prepts?=?0;
bool?first_time?=?true;

AVCodec?*pCodec;
AVframe?*pframe;
AVframe?*pframeRGB;
AVPacket?packet;
AVCodecContext?*pCodecCtx;
AVFormatContext?*pFormatCtx?=?NULL;//結構體AVFormatContext:包含碼流參數較多

static?struct?SwsContext?*img_convert_ctx;

uint8_t?*buffer;
Mat?pCvMat;

char?filepath[]?=?“rtsp://admin:jdh123456@10.170.6.187/axis-media/media.amp?camera=2“;//碼流的獲取路徑

av_register_all();//注冊編解碼器
avformat_network_init();//加載socket庫以及網絡加密協議相關的庫

if?(avformat_open_input(&pFormatCtx?filepath?NULL?NULL)?!=?0)//打開多媒體數據并且獲得信息
{
return?-1;
}

if?(avformat_find_stream_info(pFormatCtx?NULL)? {
return?-1;
}

av_dump_format(pFormatCtx?0?argv[1]?false);//手工調試函數,看到pFormatCtx->streams的內容

videoStream?=?-1;

for?(i?=?0;?i?nb_streams;?i++)
{
if?(pFormatCtx->streams[i]->codec->codec_type?==?AVMEDIA_TYPE_VIDEO)
{
videoStream?=?i;
break;
}
}

if?(videoStream?==?-1)
{
return?-1;
}

pCodecCtx?=?pFormatCtx->streams[videoStream]->codec;

pCodec?=?avcodec_find_decoder(pCodecCtx->codec_id);//查找解碼器

if?(pCodec?==?NULL)
{
return?-1;
}

if?(avcodec_open2(pCodecCtx?pCodec?0)? {
return?-1;
}

if?(pCodecCtx->time_base.num?>?1000?&&?pCodecCtx->time_base.den?==?1)
{
pCodecCtx->time_base.den?=?1000;
}

pframe?=?av_frame_alloc();//分配內存
pframeRGB?=?av_frame_alloc();

i?=?0;
while?(1)
{
if?(av_read_frame(pFormatCtx?&packet)?>=?0)//讀取碼流中的音頻若干幀或者視頻一幀
{
if?(packet.stream_index?==?videoStream)
{
ret?=?avcodec_decode_video2(pCodecCtx?pframe?&got_picture?&packet);//開始解碼
if?(ret? {
printf(“Decode?Error.(解碼錯誤)\n“);
return?ret;
}
if?(got_picture)//解碼成功

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????74752??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\Debug\HK_test.exe

?????文件?????474708??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\Debug\HK_test.ilk

?????文件????1495040??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\Debug\HK_test.pdb

?????文件???????1180??2018-03-28?15:54??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.Build.CppClean.log

?????文件???????2710??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.log

?????文件?????202433??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.obj

?????文件???????3130??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.tlog\cl.command.1.tlog

?????文件??????38322??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.tlog\CL.read.1.tlog

?????文件???????2134??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.tlog\CL.write.1.tlog

?????文件????????220??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.tlog\HK_test.lastbuildstate

?????文件???????3062??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.tlog\link.command.1.tlog

?????文件???????2112??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.tlog\link.read.1.tlog

?????文件????????870??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.tlog\link.write.1.tlog

?????文件?????153163??2018-03-28?15:58??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\queue.obj

?????文件????1477632??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\vc120.idb

?????文件?????815104??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\vc120.pdb

?????文件???????4525??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\HK_test.cpp

?????文件???????4184??2018-03-28?15:54??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\HK_test.vcxproj

?????文件???????1155??2018-03-28?15:49??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\HK_test.vcxproj.filters

?????文件????????837??2018-03-27?21:22??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\queue.cpp

?????文件????????602??2018-03-08?10:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\queue.h

?????文件???39714816??2018-03-28?16:54??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test.sdf

?????文件????????967??2018-03-28?15:42??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test.sln

????..A..H.?????23040??2018-03-28?16:54??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test.v12.suo

?????目錄??????????0??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug\HK_test.tlog

?????目錄??????????0??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test\Debug

?????目錄??????????0??2018-03-28?15:54??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\Debug

?????目錄??????????0??2018-03-28?16:24??FFmpeg?獲取網絡攝像頭數據解碼\HK_test\HK_test

?????目錄??????????0??2018-03-28?16:54??FFmpeg?獲取網絡攝像頭數據解碼\HK_test

?????目錄??????????0??2018-03-28?15:56??FFmpeg?獲取網絡攝像頭數據解碼

............此處省略3個文件信息

評論

共有 條評論