资源简介

这是从 xdisp_virt项目剥离出来的, 实现 实时的 H264 + AAC 编码 音频和视频的 RTSP, RTMP协议推流, 以及保存到本地MP4,MKV录像文件。 如果要成功编译, 需要下载和编译ffmpeg库,libfdk-aac库,x264库。 编译这些库,非常耗时。如果懒得去编译, 可以直接使用已经编译好的stream_push.dll动态库。 stream_push目录是实现核心推流和保存本地录像工程, demo目录是简单的调用例子,简单实现了抓取屏幕然后推流到RTSP,RTMP服务器,以及保存到本地。 bin目录是已经编译好的二进制文件. 有兴趣可查看BLOG: h

资源截图

代码片段和文件信息

////fanxiushu 2018-07-11 调用stream_push.dll例子

#include 
#include 

#include “../bin/stream_push.h“
#pragma comment(lib“../bin/stream_push.lib“)

struct cap_screen_t
{
HDC memdc;
HBITMAP hbmp;
unsigned char* buffer;
int            length;

int width;
int height;
int bitcount;
};

int init_cap_screen(struct cap_screen_t* sc)
{
DEVMODE devmode;
BOOL bRet;
BITMAPINFOHEADER bi; 

memset(&devmode 0 sizeof(DEVMODE));
devmode.dmSize = sizeof(DEVMODE);
devmode.dmDriverExtra = 0;
bRet = EnumDisplaySettings(NULL ENUM_CURRENT_SETTINGS &devmode);
sc->width = devmode.dmPelsWidth;
sc->height = devmode.dmPelsHeight;
sc->bitcount = devmode.dmBitsPerPel;
memset(&bi 0 sizeof(bi));
bi.biSize = sizeof(bi);
bi.biWidth = sc->width;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-07-12 00:50  stream_push\
     目录           0  2018-07-12 00:48  stream_push\bin\
     文件      782848  2018-07-12 00:42  stream_push\bin\demo.exe
     文件     4089344  2018-07-12 00:48  stream_push\bin\stream_push.dll
     文件        2243  2018-07-11 23:41  stream_push\bin\stream_push.h
     文件        3998  2018-07-12 00:48  stream_push\bin\stream_push.lib
     目录           0  2018-07-12 00:48  stream_push\demo\
     目录           0  2018-07-11 23:36  stream_push\demo\.vs\
     目录           0  2018-07-11 23:36  stream_push\demo\.vs\demo\
     目录           0  2018-07-11 23:36  stream_push\demo\.vs\demo\v14\
     文件       26112  2018-07-12 00:42  stream_push\demo\.vs\demo\v14\.suo
     文件        1289  2018-07-11 23:36  stream_push\demo\demo.sln
     文件        7459  2018-07-11 23:39  stream_push\demo\demo.vcxproj
     文件         954  2018-07-11 23:39  stream_push\demo\demo.vcxproj.filters
     文件        2663  2018-07-12 00:42  stream_push\demo\main.c
     文件         549  2018-07-12 01:03  stream_push\README.txt
     目录           0  2018-07-12 00:49  stream_push\stream_push\
     目录           0  2018-07-11 22:01  stream_push\stream_push\.vs\
     目录           0  2018-07-11 22:01  stream_push\stream_push\.vs\stream_push\
     目录           0  2018-07-11 22:01  stream_push\stream_push\.vs\stream_push\v14\
     文件       39424  2018-07-12 00:48  stream_push\stream_push\.vs\stream_push\v14\.suo
     目录           0  2018-07-12 00:48  stream_push\stream_push\src\
     文件        2260  2018-07-12 00:28  stream_push\stream_push\src\ffmpeg.h
     文件         367  2018-07-12 00:48  stream_push\stream_push\src\main.cpp
     文件        3732  2018-07-12 00:24  stream_push\stream_push\src\simple_encoder.cpp
     文件       13122  2018-06-30 02:05  stream_push\stream_push\src\sps_decode.h
     文件       42640  2018-07-12 00:47  stream_push\stream_push\src\stream_push.cpp
     文件         346  2018-07-11 22:58  stream_push\stream_push\src\stream_push.def
     文件        2454  2018-07-12 00:47  stream_push\stream_push\src\stream_push.h
     文件        1303  2018-07-11 22:01  stream_push\stream_push\stream_push.sln
     文件        8499  2018-07-11 23:37  stream_push\stream_push\stream_push.vcxproj
............此处省略2个文件信息

评论

共有 条评论