资源简介
hi3516A输出h264码流,rtsp服务器完成推流,环形缓冲,异步监测。
代码片段和文件信息
#include
#include
#include
#include
#include “loadbmp.h“
OSD_COMP_INFO s_OSDCompInfo[OSD_COLOR_FMT_BUTT] = {{0 4 4 4} /*RGB444*/
{4 4 4 4} /*ARGB4444*/
{0 5 5 5} /*RGB555*/
{0 5 6 5} /*RGB565*/
{1 5 5 5} /*ARGB1555*/
{0 0 0 0} /*RESERVED*/
{0 8 8 8} /*RGB888*/
{8 8 8 8} /*ARGB8888*/
};
inline HI_U16 OSD_MAKECOLOR_U16(HI_U8 r HI_U8 g HI_U8 b OSD_COMP_INFO compinfo)
{
HI_U8 r1 g1 b1;
HI_U16 pixel = 0;
HI_U32 tmp = 15;
r1 = g1 = b1 = 0;
r1 = r >> (8 - compinfo.rlen);
g1 = g >> (8 - compinfo.glen);
b1 = b >> (8 - compinfo.blen);
while (compinfo.alen)
{
pixel |= (1 << tmp);
tmp --;
compinfo.alen--;
}
pixel |= (r1 | (g1 << compinfo.blen) | (b1 << (compinfo.blen + compinfo.glen)));
return pixel;
}
HI_S32 GetBmpInfo(const char* filename OSD_BITMAPFILEHEADER* pBmpFileHeader
OSD_BITMAPINFO* pBmpInfo)
{
FILE* pFile;
HI_U16 bfType;
if (NULL == filename)
{
printf(“OSD_LoadBMP: filename=NULL\n“);
return -1;
}
if ((pFile = fopen((char*)filename “rb“)) == NULL)
{
printf(“Open file faild:%s!\n“ filename);
return -1;
}
(void)fread(&bfType 1 sizeof(bfType) pFile);
if (bfType != 0x4d42)
{
printf(“not bitmap file\n“);
fclose(pFile);
return -1;
}
(void)fread(pBmpFileHeader 1 sizeof(OSD_BITMAPFILEHEADER) pFile);
(void)fread(pBmpInfo 1 sizeof(OSD_BITMAPINFO) pFile);
fclose(pFile);
return 0;
}
int LoadBMP(const char* filename OSD_LOGO_T* pVideoLogo)
{
FILE* pFile;
HI_U16 i j;
HI_U32 w h;
HI_U16 Bpp;
HI_U16 dstBpp;
OSD_BITMAPFILEHEADER bmpFileHeader;
OSD_BITMAPINFO bmpInfo;
HI_U8* pOrigBMPBuf;
HI_U8* pRGBBuf;
HI_U32 stride;
if (NULL == filename)
{
printf(“OSD_LoadBMP: filename=NULL\n“);
return -1;
}
if (GetBmpInfo(filename &bmpFileHeader &bmpInfo) < 0)
{
return -1;
}
Bpp = bmpInfo.bmiHeader.biBitCount / 8;
if (Bpp < 2)
{
/* only support 1555.8888 888 bitmap */
printf(“bitmap format not supported!\n“);
return -1;
}
if (bmpInfo.bmiHeader.biCompression != 0)
{
printf(“not support compressed bitmap file!\n“);
return -1;
}
if (bmpInfo.bmiHeader.biHeight < 0)
{
printf(“bmpInfo.bmiHeader.biHeight < 0\n“);
return -1;
}
if ( (pFile = fopen((char*)filename “rb“)) == NULL)
{
printf(“Open file faild:%s!\n“ filename);
return -1;
}
pVideoLogo->width = (HI_U16)bmpInfo.bmiHeader.biWidth;
pVideoLogo->height = (HI_U16)((bmpInfo.bmiHeader.biHeight > 0) ? bmpInfo.bmiHeader.biHeight : (-bmpInfo.bmiHeader.biHeight));
w = pVideoLogo->width;
h = pVideoLogo->height;
stride = w
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-09-19 15:46 rtsp-h264\
目录 0 2018-09-19 15:46 rtsp-h264\include\
文件 9616 2018-09-19 15:46 rtsp-h264\include\acodec(1).h
文件 11595 2018-09-19 15:46 rtsp-h264\include\dictionary.h
文件 13644 2018-09-19 15:45 rtsp-h264\include\hifb(1).h
文件 2171 2018-09-19 15:45 rtsp-h264\include\himedia.h
文件 5493 2018-09-19 15:46 rtsp-h264\include\hi_ae_comm.h
文件 900 2018-09-19 15:46 rtsp-h264\include\hi_af_comm.h
文件 4263 2018-09-19 15:46 rtsp-h264\include\hi_awb_comm.h
文件 8285 2018-09-19 15:46 rtsp-h264\include\hi_common.h
文件 10695 2018-09-19 15:46 rtsp-h264\include\hi_comm_3a.h
文件 5455 2018-09-19 15:46 rtsp-h264\include\hi_comm_adec.h
文件 4874 2018-09-19 15:46 rtsp-h264\include\hi_comm_aenc.h
文件 879 2018-09-19 15:46 rtsp-h264\include\hi_comm_ai.h
文件 24415 2018-09-19 15:46 rtsp-h264\include\hi_comm_aio.h
文件 881 2018-09-19 15:46 rtsp-h264\include\hi_comm_ao.h
文件 1883 2018-09-19 15:46 rtsp-h264\include\hi_comm_fisheye.h
文件 60809 2018-09-19 15:46 rtsp-h264\include\hi_comm_isp.h
文件 14416 2018-09-19 15:46 rtsp-h264\include\hi_comm_ive.h
文件 9316 2018-09-19 15:46 rtsp-h264\include\hi_comm_pciv.h
文件 16374 2018-09-19 15:46 rtsp-h264\include\hi_comm_rc.h
文件 9452 2018-09-19 15:46 rtsp-h264\include\hi_comm_region.h
文件 5644 2018-09-19 15:46 rtsp-h264\include\hi_comm_sns.h
文件 3832 2018-09-19 15:46 rtsp-h264\include\hi_comm_sys.h
文件 3918 2018-09-19 15:46 rtsp-h264\include\hi_comm_vb.h
文件 9652 2018-09-19 15:46 rtsp-h264\include\hi_comm_vda.h
文件 9533 2018-09-19 15:46 rtsp-h264\include\hi_comm_vdec.h
文件 31183 2018-09-19 15:46 rtsp-h264\include\hi_comm_venc.h
文件 3732 2018-09-19 15:46 rtsp-h264\include\hi_comm_vgs.h
文件 25601 2018-09-19 15:46 rtsp-h264\include\hi_comm_vi.h
文件 15758 2018-09-19 15:46 rtsp-h264\include\hi_comm_video.h
............此处省略95个文件信息
- 上一篇:如何利用VC++自动生成Excel表格
- 下一篇:彩票模拟生成和兑奖
相关资源
- H264 封包解包 CH264_RTP_PACK
- H264转化MP4源码
- c++使用ffmpeg把h264/h265和mp3写入mp4文件
- C++ 通过FFmpeg将rtsp视频流到本地mp4文件
- C H264格式 转MP4格式
- H264 转 YUV
- Linux下C语言FLV文件拆解成h264视频流和
- live555&RTSP;源码解析笔记
- VC H264格式视屏播放器源码
- 开源H.264码流分析器程序+源代码
- C++ 解析H264文件
- MFC读取RTSP视频流
- RTMP/RTSP推流组件推送AAC到EasyDarwin
- 把H264和音频流打包成PS流
- H264 TS打包C语言源代码
- MFC实现rtsp视频流的播放
- linux系统C语言AVI格式音视频封装应用
- C++ 解析rtsp流后返回Iplimage,用Opengl显
- 使用RTP协议发送和接收H264的(支持解
- RTSP PUSH tcp udp h264 easydarwin
- H264视频解压缩封装 c++
- C++ MP4v2获取rtsp流并保存为MP4文件
- C++ RTSP/RTP流媒体客户端源码
- RTSP_Client.c
- libx264最新稳定版本附WINDOWS下编译步骤
- RTSP请求客户端
- 最小RTSP服务器,C语言代码
- linux下最小RTSP服务器实现
- RTSP流媒体协议实现源代码 含客户端和
- RTSPRTP服务器+客户端 C++ 源代码
评论
共有 条评论