Liquor


0 访问量
0 原创专栏
0 资料
10 粉丝
个性签名:此E友还没有留下个性签名哦~
加入易百纳时间:2023-06-20
-
码流就是一秒的数据流量监测出来的码流波形是高低起伏的 虽然播放没有问题现要使码流输出稳定 也就是波形平缓 应该怎么调整那些结构体的参数?比如:VBR模式下: 普通参数有这些stVencChnAttr.stRcAttr.enRcMode = VENC_RC_MODE_H264VBR;stH264Vbr.u32Gop = 30;stH264Vbr.u32StatTime = 1;stH264Vbr.u32SrcFrmRate = 30;stH264Vbr.fr32DstFrmRate = 30;stH264Vbr.u32MinQp = 10;stH264Vbr.u32MinIQp = 10;stH264Vbr.u32MaxQp = 50;stH264Vbr.u32MaxBitRate = 1024 * 5;高级参数有:stParamH264Vbr.s32ChangePos = 90;stParamH264Vbr.u32MinIprop = 1;stParamH264Vbr.u32MaxIprop = 100;stParamH264Vbr.s32MaxReEncodeTimes = 2;stParamH264Vbr.bQpMapEn = HI_FALSE;2023-10-301 0 774
-
“统计264或265流量数据,gop设置成fps一样,统计一秒的数据总量,记录波动情况,最大,最小,std等等”“流量以每秒的字节数总量为样本”如果我出个题目如上,各位大佬该如何应对?(求求了)2023-10-093 0 700
-
才接触到视频,现在想在VI之后保存一张图片,看到MPI有一个函数HI_S32 HI_MPI_VI_GetFrame(VI_CHN ViChn, VIDEO_FRAME_INFO_S pstFrameInfo,HI_S32 s32MilliSec);手册又说pstFrameInfo -> stVFrame .u32PhyAddr[0]和 pstFrameInfo ->stVFrame .u32PhyAddr[1]分别指向图像的亮度分量和色度分量的物理地址。想着就跟保存音频一样的将亮度和色度分量分别取一个出来然后组合保存成yuv的图片。贴上代码:HI_S32 SAVE_A_PIC(HI_U32 vichn){ HI_S32 s32ret; //VI_CHN Vichn = 0; VIDEO_FRAME_INFO_S stFrame; HI_U32 u32Depth; FILE fd = fopen(“pic.yuv”,”wb+”); / set max depth / u32Depth = 10; s32ret = HI_MPI_VI_SetFrameDepth(vichn,u32Depth); if(HI_SUCCESS != s32ret) { printf(“set max depth err:0x%x\n”,s32ret); return s32ret; } / get video frame frame vi chn / s32ret = HI_MPI_VI_GetFrame(vichn,&stFrame,HI_FALSE); if(HI_SUCCESS != s32ret) { printf(“get vi frame err:0x%x\n”,s32ret); return s32ret; } / deal with video frame… / fwrite(stFrame->stVFrame.u32PhyAddr[0],1,sizeof(stFrame->stVFrame.u32PhyAddr[0]),fd); fwrite(stFrame->stVFrame.u32PhyAddr[1],1,sizeof(stFrame->stVFrame.u32PhyAddr[1]),fd); / release video frame / (void)HI_MPI_VI_ReleaseFrame(vichn,&stFrame);} 但是报错说stFrame->stVFrame.u32PhyAddr[0]和stFrame->stVFrame.u32PhyAddr[1]这两个参数无效也不知道思路有没有问题,求求大佬们赐教2023-09-064 0 727
-
如果不用分析软件、不用播放软件,给你一个pcm文件(没有文件头),单单从数据里面如何分析出是两个字节一个采样还是一个字节一个采样?2023-08-0829 0 1536
-
采集pcm双声道数据并保存到文件中,文件打开是快进的,保存方式是左右左右依次存放不知道问题在哪 if(HI_TRUE == pstAiCtl->bSendFile){ /save frame to file/ fwrite(stFrame.pVirAddr[0],1,stFrame.u32Len, pstAiCtl->pfd); fwrite(stFrame.pVirAddr[1],1,stFrame.u32Len, pstAiCtl->pfd);}2023-07-193 0 864
-
修改了sample_audio里面的声道数量为2,依旧用的MONO,绑定了通道0和1到aenc成功cat的aenc通道1没有获取和释放的码流[AENC] Version: [Hi3521D_MPP_V1.0.5.0 B040 Release], Build Time[Nov 12 2018, 13:16:37] ——-AENC CHN ATTR———————————————————————————————ChnId PlType ADPCMType PoiNum BufSize G726Rate 0 aac NULL 1024 30 NULL 1 aac NULL 1024 30 NULL ——-AENC CHN STATUS——————————————————————————————ChnId RcvFrm AiQueLost EncOk FrmErr BufFull GetStrm RlsStrm WtFile 0 3010 0 29 0 2981 0 0 N 1 3010 0 253 0 2757 225 224 N错误提示:SAMPLE_COMM_AUDIO_AencProc: HI_MPI_ADEC_SendStream(0), failed with 0xa0188005![Func]:MPI_AENC_DestroyChn [Line]:1275 [Info]:There is stream buffer need to release in aenc chn:1 !SAMPLE_COMM_AUDIO_StopAenc: HI_MPI_AENC_DestroyChn(1) failed with 0xa0178009!s32Ret=0xa0178009,fuc:SAMPLE_AUDIO_AiAenc,line:484[Func]:MPI_AENC_DestroyChn [Line]:1275 [Info]:There is stream buffer need to release in aenc chn:1 ! 不知道还要设置哪些地方 有没有大佬帮忙看一下的2023-07-193 0 1016
-
使用外接codec录制保存的文件,录了很久,但是只保存下来十几秒,前面五秒是正常的,后面就跟快进卡碟一样不论录制多少时间,都只有前面五秒是正常的贴上相关参数: stAioAttr.enSamplerate = AUDIO_SAMPLE_RATE_48000; stAioAttr.enBitwidth = AUDIO_BIT_WIDTH_16; stAioAttr.enWorkmode = AIO_MODE_I2S_SLAVE; stAioAttr.enSoundmode = AUDIO_SOUND_MODE_MONO; stAioAttr.u32EXFlag = 1; stAioAttr.u32FrmNum = 30; stAioAttr.u32PtNumPerFrm = SAMPLE_AUDIO_PTNUMPERFRM; //#define SAMPLE_AUDIO_PTNUMPERFRM 320 stAioAttr.u32ChnCnt = 1; stAioAttr.u32ClkChnCnt = 1; stAioAttr.u32ClkSel = 0; 贴上aenc:/proc/umap # cat aenc [AENC] Version: [Hi3521D_MPP_V1.0.5.0 B040 Release], Build Time[Nov 12 2018, 13:16:37] ——-AENC CHN ATTR———————————————————————————————ChnId PlType ADPCMType PoiNum BufSize G726Rate 0 aac NULL 1024 30 NULL ——-AENC CHN STATUS——————————————————————————————ChnId RcvFrm AiQueLost EncOk FrmErr BufFull GetStrm RlsStrm WtFile 0 24438 0 701 0 23737 673 672 N BufFull满了那么多次就很奇怪,后面用户获取和释放的数据码流也很少2023-07-183 0 731
-
就是类似这种HI_ACODEC_TYPE_NVP6134 HI_ACODEC_TYPE_TW2865采用的芯片宏名,不知道在哪个文档里我现在想用其他音频外设芯片写一个类似的代码,其他的上层代码只需要用海思的sample就可以,但是芯片设置还是需要自己写,就是不知道这些个宏在哪怎么表达的,需要什么相关依赖文件2023-07-172 0 663
-
最近又遇到个问题如何将ai的音频数据直接输出到文件中我是直接在HI_MPI_AI_GetFrame()获取音频帧之后fwrite写到文件当中的,然后保存下来的pcm文档就全是电流音滋滋滋的我觉得应该是fwrite的参数有点问题 贴上代码fwrite(&stFrame,1,stFrame.u32Len, pstAiCtl->pfd); //stFrame为AUDIO_FRAME_S类型的结构体,定义音频帧数据结构体 //u32Len为结构体里面的一个成员,也就是帧中每个通道的数据长度 //后面的pfd是前面一个函数打开文件返回的文件描述符这里有一个问题 平时在编码之后写入的是stream 但是从ai直接获取的是frame,也就是stream的单位数据,不知道能不能这样写2023-07-135 0 967
-
运行sample_audio能够成工,ai、ao、aenc、adec看了一下也没有什么问题保存下来的aac文件在pc播放就有极大的噪音,所以想在开发板直接播放,看看是本来就有问题,还是在pc端播放的问题但是运行了ai->aenc->file->adec->ao没有声音,只是保存下来了aac文件再运行file->adec->ao播放保存下来的aac文件,依旧没有声音使用的是标准的四段耳机想问一下各位大佬可能是什么问题2023-07-1014 0 1266
-
海思Hi3521自带的sample_audio运行之后保存的aac文件,用pc或者手机播放都有极大的杂音,类似于拖拉机的声音经查资料,应该是海思在保存音频的时候也将每一帧的海思头也保存下来了,但是这个aac文件的海思头该如何去除?或者应该怎么播放这个aac文件?2023-07-0710 0 772
-
如何配置寄存器,自己编写代码,接入一个手机模拟输入,实现编解码将输入的音频保存为aac文件?花了几天的时间看完了sample_audio,大概部分是理解了,但是海思自己编写的MPI实在是不知道源代码,如果自己写这个代码应该如何操作?现在已经摸索到要配用的寄存器:GPIO9_3复用为外接codec的主时钟用的I2S2时钟则配置CRG8,配置I2S_CRG_CFG0_08和I2S_CRG_CFG1_08I2S0接口的配置寄存器位CRG0,配置I2S_CRG_CFG0_00和I2S_CRG_CFG1_00寄存器GPIO9_0 复用为 I2S0_BCLK_RXGPIO9_1 复用为 I2S0_WS_RXGPIO9_2 复用为 I2S0_SD_RX 接下来应该做一些什么操作 实在是没有思路 有没有大佬!!!2023-06-270 0 773
-
please choose the case which you want to run: 1: start AI 8 chns to AO 1chn loop(NVP6134) 2: send audio frame to AENC channel from AI, save them 3: read audio stream from file, decode and send AO 4: start AI to AO(Hdmi) loop q: quit whole audio sample sample_audio 是运行成功的 我选择的第2个选项 Ai(0,0) bind to AencChn:0 ok!open stream file:”audio_chn0.aac” for aenc okbind adec:0 to ao(0,0) ok 最后是这样的 aac文件也有了但是/proc/umap里面 不论是ai ao aenc adec都没有数据2023-06-216 0 845
-
please choose the case which you want to run: 1: start AI 8 chns to AO 1chn loop(NVP6134) 2: send audio frame to AENC channel from AI, save them 3: read audio stream from file, decode and send AO 4: start AI to AO(Hdmi) loop q: quit whole audio sample sample command:2……Ai(0,0) bind to AencChn:0 ok!open stream file:”audio_chn0.aac” for aenc okbind adec:0 to ao(0,0) ok 这个的意思就是能够采集数据并且保存到aac文件了嘛 但是在/proc/umap的aenc里面没有任何数据 这个问题怎么解决呀各位大佬!!!2023-06-216 0 1313
-
/ 感觉自己好菜,连demo都运行不起来 哭死 / 直接在audio里面make了 没有修改任何东西 nfs到开发板跑起来各种open err 没有找到文件和文件夹好像是该修改什么东西的 但是源代码宏名和相关.c .h文件实在是太多了看不过来是不是可以直接选择ai->ao那个函数 在主函数里面配置了寄存器之后就直接调用这个函数??? /有没有大佬可以帮帮的 刚开始接触这个板子 好难啊 /2023-06-2014 0 996

共15条