pumeisc

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc  发布于  2016-04-21 18:58:25
采纳率 0%
13个问答
8590

HI3518E 加入声音代码后没有图像,只有噪音,敬请指教

 
本帖最后由 pumeisc 于 2016-4-21 18:58 编辑

server端是I3518E+网络,客户端是WINXP下的VLC.

连接过程:

1. option正常
2. description也正常
3. 2次SETUP,建立RTP也成功
4. 声音和图像也是相应的RTP通道发送的,

sdp信息如下:
v=0
o=-2208989696 2208989696 IN IP4 192.168.1.10
s=Unnamed
i=N/A
c=IN IP4 192.168.2.13
t=0 0
a=recvonly
m=video 5004 RTP/AVP 96
b=RR:0
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=ee81fd;sprop-parameter-sets=t+6B
a=control:trackID=0
m=audio 5005 RTP/AVP 96
b=AS:128
b=RR:0
a=rtpmap:96 AMR/8000
a=fmtp:96 octrt-align=1;
a=control:trackID=1

如果把声音部分去掉,SETUP只有一次,图像也正常。
望各位大牛不吝赐教!
非常感谢
我来回答
回答41个
时间排序
认可量排序

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-22 08:31:01
认可0
...
m=video 5004 RTP/AVP 96
...
m=audio 5005 RTP/AVP 96
...

这里表示video使用5004端口, audio 使用5005端口
但是RTP/RTCP的端口是成对使用的一般在"m="看到的都是RTP的偶数端口RTCP使用RTP端口+1的端口
也就是说video设了5004, 等于是设定使用 5004/5005端口
audio设了5005, 等于是设定使用 5005/5006端口

建议楼主把音频使用得端口号改为5006再试一下

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-22 08:54:41
认可0
非常感谢 zhuangweiye
果不其然,确实是端口的问题,图像正常了,暂时没有声音,再检查一下通路,打心里的非常感谢!

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-22 09:20:43
认可0

...
a=rtpmap:96 AMR/8000
...

可能要看一下, audio的编码格式是否正确

3518E 的AENC只支持 G711/G726/ADPCM

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-22 09:37:58
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=28902&ptid=11086]zhuangweiye 发表于 2016-4-22 09:20[/url]
...
a=rtpmap:96 AMR/8000
...
[/quote]

如果格式不正确,会不会有杂音之类的?现在是如同静音,猜应该还是通路上的问题,不知道这样考虑是否正确,再次感谢!

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-22 10:17:07
认可0
不清楚, 接收端是否判断格式, 有些是判断的,码流格式不对根本都不会去解码直接丢掉了,结果就是静音了

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-22 11:31:04
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=28913&ptid=11086]zhuangweiye 发表于 2016-4-22 10:17[/url]
不清楚, 接收端是否判断格式, 有些是判断的,码流格式不对根本都不会去解码直接丢掉了,结果就是静音了[/quote]

格式修改了几种,也是一样的效果,
进入umap目录
发现cat ai  和cat aenc 都是空的,
但是分明我是配置了的呀,问题出在哪里了呢?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-22 11:37:23
认可0
先看看程序运行log, 是不是有ai/aenc相关的错误

不行就只能加打印, 看看是不是跑到相关设置的代码了

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-22 11:37:27
认可0
# cat ai

[AI] Version: [Hi3518_MPP_V1.0.8.1 ], Build Time: [Mar 18 2014, 11:52:07]

-----AI DEV ATTR---------------------------------------------------------------------------------------------------------
AiDev WorkMod   SampR  BitWid  ChnCnt  ClkSel SondMod  PoiNum  ExFlag  FrmNum

-----AI DEV STATUS-------------------------------------------------------------------------------------------------------
AiDev      IntCnt FrmTime  MaxFrmTime  DMAChn  DMAReq TranLen IsrTime  MaxIsrTime   DMAPhy0   DMAPhy1 CurDMAPhy PinPon    ErrCnt

-----AI CHN STATUS-------------------------------------------------------------------------------------------------------
AiDev   AiChn   State    Read   Write      BufFul u32Data0 u32Data1   AecAo     AecFail    bAnr  bResmp  PoiNum   SampR ResmpType
# cat aenc

[AENC] Version: [Hi3518_MPP_V1.0.8.1 ], Build Time[Mar 18 2014, 11:52:07]

-----AENC CHN ATTR--------------------------------------------------------------
ChnId  PlType BufSize   Attr1   Attr2   Attr3   Attr4   Attr5

-----AENC CHN STATUS------------------------------------------------------------
ChnId      RcvFrm       EncOk      FrmErr     BufFull     GetStrm     RlsStrm

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-22 11:55:00
认可0
串口没有打印错误出来,我特意设置打印“绑定成功”,后面也没有错误出来,我再仔细分析一下,找到问题所在就有方向了。谢谢你

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-23 11:17:04
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=28926&ptid=11086]zhuangweiye 发表于 2016-4-22 11:37[/url]
先看看程序运行log, 是不是有ai/aenc相关的错误

不行就只能加打印, 看看是不是跑到相关设置的代码了[/quote]

找了通路上很多地方,没发现什么问题,运行log一直到获取数据都没什么问题,我还特意在PC机上面专门编了一个程序获取声音和图像数据,声音包的大小是168字节,在server端打印发送出来的声音包大小也是168,不知道对不对,。  
实在没招,使用海思的声音demo程序,打印cat ai和cat aenv的结果也是空的, 好像又进入死胡同了,难道是我的硬件有问题?

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-25 08:18:25
认可0
Ai 和 Aenc 只和海思自己有关系只要芯片能跑且设置正确就能看到/proc/umap/ai 有东西,
如果 cat /proc/umap/ai 是空的, 说明根本没设置,或者设置是不对的, 或者海思的ko没加载(后两项都应该会在程序运行log里看出来)

另外 3518E 应该用的是内置 audio codec, 不知道这个是否搞对了

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-25 10:33:59
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29030&ptid=11086]zhuangweiye 发表于 2016-4-25 08:18[/url]
Ai 和 Aenc 只和海思自己有关系只要芯片能跑且设置正确就能看到/proc/umap/ai 有东西,
如果 cat /proc/um ...[/quote]

配置步骤:
1. 属性初始化
    stAioAttr.enSamplerate = AUDIO_SAMPLE_RATE_8000;
    stAioAttr.enBitwidth = AUDIO_BIT_WIDTH_16;
    stAioAttr.enWorkmode = AIO_MODE_I2S_MASTER;
    stAioAttr.enSoundmode = AUDIO_SOUND_MODE_MONO;
    stAioAttr.u32EXFlag = 1;
    stAioAttr.u32FrmNum = 20;
    stAioAttr.u32PtNumPerFrm = SAMPLE_AUDIO_PTNUMPERFRM;
    stAioAttr.u32ChnCnt = 2;
    stAioAttr.u32ClkSel = 0;
2.  配置codec
   打开codec文件
   写 ACODEC_SOFT_RESET_CTRL 复位
   配置ACODEC_SET_I2S1_FS  为  AUDIO_SAMPLE_RATE_8000
   设置左右声道输入 (非mic输入)
3.  启动AI
   设置设备属性  HI_MPI_AI_SetPubAttr
   使能设备  HI_MPI_AI_Enable
   使能左右两个通道  HI_MPI_AI_EnableChn  通道号 0和1
4. 启动AENC
    构建AENC通道 编码模式为 PT_G711A ,HI_MPI_AENC_CreateChn  只有通道0
5. 绑定 AI 和 AENC通道
    绑定输入通道0 和 AENC通道0
6. 获取AENC数据后打包存储。

不知道这个过程有没有什么不妥之处,需不需要贴出代码? 有点太多了,需要哪块的时候我再贴出来,多谢了!

药导

1个粉丝

23

问答

0

专栏

11

资料

药导 2016-04-25 10:38:12
认可0
有可能是mic头有问题呢?你跑海思sample_audio保存的文件能听吗?

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-25 10:41:02
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29046&ptid=11086]药导 发表于 2016-4-25 10:38[/url]
有可能是mic头有问题呢?你跑海思sample_audio保存的文件能听吗?[/quote]

不能,也一样的没有,cat ai和cat aenc里面也是空的

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-25 10:42:13
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29046&ptid=11086]药导 发表于 2016-4-25 10:38[/url]
有可能是mic头有问题呢?你跑海思sample_audio保存的文件能听吗?[/quote]

另外,我用的不是mic,用的是RL声道,

药导

1个粉丝

23

问答

0

专栏

11

资料

药导 2016-04-25 10:53:59
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29047&ptid=11086]pumeisc 发表于 2016-4-25 10:41[/url]
不能,也一样的没有,cat ai和cat aenc里面也是空的[/quote]

那你这个是底层就没采集好,先把底层采集到写到文件里,听了感觉没问题再传rtsp吧

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-25 10:57:13
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29052&ptid=11086]药导 发表于 2016-4-25 10:53[/url]
那你这个是底层就没采集好,先把底层采集到写到文件里,听了感觉没问题再传rtsp吧[/quote]

底层采集是指什么? 声音已经接在相应引脚上了,RTSP是传了,但是RTSP是不是传了,似乎应该跟cat ai和cat aenc也没什么关系。我所指的保存不是写到文件里面,而是直接发到RTSP上面了的。而且确实在客户端也是可以接收到数据的,就是不知道那个数据对不对

药导

1个粉丝

23

问答

0

专栏

11

资料

药导 2016-04-25 10:59:15
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29053&ptid=11086]pumeisc 发表于 2016-4-25 10:57[/url]
底层采集是指什么? 声音已经接在相应引脚上了,RTSP是传了,但是RTSP是不是传了,似乎应该跟cat ai和cat ...[/quote]

你跑sample_audio能出正常的音频么?如果sample_audio都不能出正常音频,你传rtsp有什么意义?

pumeisc

1个粉丝

13

问答

0

专栏

0

资料

pumeisc 2016-04-25 11:03:01
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29054&ptid=11086]药导 发表于 2016-4-25 10:59[/url]
你跑sample_audio能出正常的音频么?如果sample_audio都不能出正常音频,你传rtsp有什么意义?[/quote]

sample也不能,而且sample后也没有cat ai和cat aenc内容,所以才不知道问题所在。帮忙诊断一下病因所在,多谢了!

zhuangweiye

8个粉丝

0

问答

0

专栏

0

资料

zhuangweiye 2016-04-25 11:04:58
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29044&ptid=11086]pumeisc 发表于 2016-4-25 10:33[/url]
配置步骤:
1. 属性初始化
    stAioAttr.enSamplerate = AUDIO_SAMPLE_RATE_8000;
[/quote]

建议楼主用苯办法了

在demo程序中, 写个新函数test(), 里面只有一小段,就是上面1和3 然后getchar()

main()里面改调这个test(), 然后编一下,跑一下,看看 cat /proc/umap/ai
如果ai如愿, 那么加AENC,再跑看 ai/aenc

如果还有问题,那把test()代码放上来再讨论

加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区