hal_encode_decode_h264_h265.rar
hal_encode_decode_h264_h265.rar
vp9_decode.rar
vp9_decode.rar
vp8_decode.rar
vp8_decode.rar
mpg4_decode.rar
mpg4_decode.rar
m2v_decode.rar
m2v_decode.rar
jpeg_decode.rar
jpeg_decode.rar
h265_decode.rar
h265_decode.rar
h264_decode.rar
h264_decode.rar
avs_decode.rar
avs_decode.rar
vp8_encode.rar
vp8_encode.rar
jpeg_encode.rar
jpeg_encode.rar
h265_encode.rar
h265_encode.rar
h264_encode.rar
h264_encode.rar
MTK音频调试工具使用简易指导.pdf
MTK音频调试工具使用简易指导.pdf
YUVPlayer-Deluxe.zip
YUVPlayer-Deluxe.zip
webRTC登录.rar
anyconnect-win.msi
1、登录网址
2、登录用户
3、登录密码
4、https://webrtc.org
v2ex
v2ex
any.omicronplus.com
iceeADBDriverserve.rar
iceeADBDriverserve
1、安装iceeADBDriverserve后,可以使手机终端连接到PC电脑。
WireShark抓包文件.rar
1、AMR声码器RTP网络包
2、NVOC声码器RTP网络包
3、H264格式RTP网络包
4、SIP协议RTP网络包
SIP_protocol.rar
接口12:更新视频媒体通道
功能描述:创建一个媒体通道来进行视频通话
函数原形:public static int pnas_pjsua_media_video_update(int call_id, int call_type,
pj_str_t* caller_udn ,nas_remote_video_info remote_video_info,
pnas_video_info_others *video_info_others)
参数说明:call_type ------ 会话媒体类型,一是用于是否需要硬编解码,二是重传功能需要
caller_udn ------- 用户的号码,用于视频学习包的发送(已废弃使用)
pnas_remote_video_info是一个结构体,具体传递参数如下:
Unsigned media_type ----- 媒体类型, 这里只能等于2
pj_str_t remote_ip ----- 呼叫对方的IP
int local_rtp_port ----- 本地传输视频RTP流的端口
int remote_rtp_port ----- 对方接收本地视频RTP流到的端口
int remote_rtcp_port ----- 对方接收本地视频RTCP流到的端口
pjmedia_dir locat_audio_dir ---
{
值为0,待用;
值为1,只编码,会话只发送视频;
值为2,只解码,会话只接收视频;
值为3,编解码,会话支持同时编码和解码视频;
}
PNAS_VIDEO_CODEC_NAME vid_codec_name --- 编解码器(比如H264)
PNAS_VIDEO_FPS fps ----- 视频帧率
PNAS_VIDEO_SIZE video_size ----- 视频分辨率
video_info_others是一个结构体,具体传递参数如下:
int cap_dev --- 用于切换哪一个摄像头,是使用后置、前置还是外置摄像头
返回值:底层返回的值
PJ_ERRNO_PARAM_INVALID=170009 ----- 传入的参数为空或参数不符合要求, 比如媒体类型为音频、没有值或为空
PJ_ERRNO_POOL_ERROR=170014 ----- 创建内存池失败
PJ_ERRNO_AUDIO_STREAM_UPDATE=170015 --- 更新视频媒体通道失败
PJ_ERRNO_VIDEO_CHANNEL_UPDATE=170018 --- 不能更新视频媒体通道,失败
PJ_SUCCESS = 0 ----- 成功
其它说明:根据传入的media_type ,local_rtp_port等参数去查找对应创建的call_media会话端口而更新对应的视频通道。call_type类型要看pnas设计文档,值是跟sip设计文档中不一样的,如果很低层用到这个类型的话,请参考设计文档把值修改过来。
openSlesDemo
openSlesDemo是自研APK,用于调试android终端的音频采集、播放的参数;
采集参数:
1、SL_ANDROID_RECORDING_PRESET_NONE
2、SL_ANDROID_RECORDING_PRESET_GENERIC
3、SL_ANDROID_RECORDING_PRESET_CAMCORDER
4、SL_ANDROID_RECORDING_PRESET_VOICE_RECOGNITION
5、SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION
播放参数:
1、SL_ANDROID_STREAM_VOICE
2、SL_ANDROID_STREAM_SYSTEM
3、SL_ANDROID_STREAM_RING
4、SL_ANDROID_STREAM_MEDIA
5、SL_ANDROID_STREAM_ALARM
6、SL_ANDROID_STREAM_NOTIFICATION
H.265祼流文件和h265的pcap抓包文件
H.265裸流文件,用于编解码、测试、对比。
1、文件格式:start_code(4字节) + nal_header(2字节) + payload_data
2、文件格式:00 00 00 01 + 04 01 + 0C 01 FF FF.......
H265的pcap抓包文件:
1、linux cooked capture + IPv4 + UDP + RTP + H265
source_insight4.0 破解 分页工具 VM10KEY
source_insight4.0_hack
1、安装包;
2、破解方法;
3、sihook.zip为分页工具;
4、VMware-workstation-full-10.0.1-注册序列号.txt
source insight 分页标签插件
Source Insight分页标签插件 sihook使用方法:
1、安装:解压sihook.zip两个dll放到SI目录即可
2、删除:删除SI目录msimg32.dll和sihook.dll即可
AES对称加密解密文件
AES对称加密解密文件工程:
一、AES 介绍
二、AES 算法原理
工程一)密钥扩展程序的 C++ 代码(AES-128)
工程二)C++ 实现 AES 的加密和解密算法
工程三)C++实现了对文件的加密和解密
CoolEditProSetup
CoolEditProSetup为windows平台下的音频格式转化及查看工具;
C#使用CLR调用C++的DLL库
C#使用CLR调用C++的DLL库的windows完整解决方案 说明如下:
1、工程一:C++的DLL
2、工程二:C++的CLR的类库
3、工程三:C#的exe
C++调整PCM文件声音大小(windows)
C++调整PCM文件声音大小(windows)
FILE* ipcmfile; //音频文件
FILE* opcmfile; //音频文件
char data[10];
int main(int argc, char* argv[])
{
char* InPath = "123.pcm";
char* OutPath = "123_04.pcm";
fopen_s(&ipcmfile;, InPath, "rb");
fopen_s(&opcmfile;, OutPath, "wb");
if(NULL == ipcmfile)
{
printf("InPut file open failed!\n");
}
int i = 0;
while (fread(data, 1, 2, ipcmfile) == 2)
{
//LOG_INFO_S("(%d) Before: data[0]:0xx. data[0]:0xx.\n",i,data[0],data[1]);
RaiseVolume(data,2,1,4);
fwrite(&data;[0], 1, 2, opcmfile);
//LOG_INFO_S("(%d) After: data[0]:0xx. data[0]:0xx.\n",i,data[0],data[1]);
i++;
}
fclose(ipcmfile);
fclose(opcmfile);
LOG_INFO_S("RaiseVolume to:%s OK.\n",OutPath);
return 0;
}
JsonCPP lib库
C++的Json头文件与lib库,包括win32与64位。
Json使用方法如下:
Json::Value root;
Json::Value Head;
root["gatewayIP"] = Json::Value(gatewayIP);
root["repeaterIP"] = repeaterIP;
root["groupAccount"] = groupAccount;
root["groupPwd"] = groupPwd;
root["agentAccount"] = agentAccount;
Json::Value narrowId1;
Json::Value narrowId2;
narrowId1["nBGroupID"] = nBGroupID1;
narrowId1["sLAccount"] = sLAccount1;
narrowId2["nBGroupID"] = nBGroupID2;
narrowId2["sLAccount"] = sLAccount2;
if(0 < nBGroupID1.size()){
root["nBGroups"].append(narrowId1);
}
if(0 buff_root, strlen(tmpdata.c_str())+1, tmpdata.c_str());
cout<<"buff_root :"<buff_root << endl;
ffmpeg转换MP4为JPG帧图片
使用ffmpeg库把mp4视频文件保存为一帧一帧的JPG格式图片
ffpage Resample 音频重采样
ffpage 方法实现 Resample 音频 位宽、采样率 相互转化