Firefly开源社区

12
发表新贴

[应用开发] RV1126 ISP 摄像头 AI 识别并直播到 B 站(bilibili)案例的实现

1万

积分

7

威望

0

贡献

神级创客

Rank: 8Rank: 8

积分
10371

突出贡献

发表于 2021-9-3 15:12:22     
本帖最后由 799959745 于 2021-9-3 15:15 编辑

直播案例源码
直播案例源码可以看下我写的另一个帖子
  1. https://dev.t-firefly.com/thread-104655-1-1.html
复制代码
代码路径:sdk/app/firefly_rockx_demo/
源码名字:rockx_face_attribute_aenc_venc_rtsp_service.cpprockx_face_attribute_client.cpp
具体编译和使用参考上面的帖子链接。

直播步骤
1、开通 B 站直播间。
2、点击右上角的图像标志进入个人主页。
直播步骤1.png

3、鼠标移动到头像标志,在弹出的页面点击进入直播中心。
直播步骤2.png

4、选择我的直播间。
直播步骤3.png

5、在开播设置中,选择直播分类,填写房间标题。确认完毕之后点击开始直播。然后出现你的 rtmp 地址和你的直播码。这两个码是你推流到 B 站最重要的东西。
注意:只有点击开始直播才会出现这两个地址。
直播步骤4.png

6、板子执行 alsamixer 打开声卡,设置 Capture MIC pathMain Mic。板子右下角的 MIC 接口需要自行接入麦克风
直播步骤6.png

7、接下来就是重点了。执行程序然后推流到 B 站进行直播。
* 手动执行:
  1. rockx_face_attribute_aenc_venc_rtsp_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_face_attribute_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &

  3. ffmpeg -f rtsp -rtsp_transport tcp -i "rtsp://127.0.0.1:8554/H264_stream_0" -i "rtsp://127.0.0.1:8555/audio_stream_0" -c  copy -f flv "你的 rtmp 地址+你的直播码" &
复制代码

8、直播效果。可看到摄像头识别画面和听到 MIC 音频播放的声音。
直播步骤5.png


案例分析:
  程序(rockx_face_attribute_aenc_venc_rtsp_service )实现摄像头视频的 rtsp 推流和 MIC 音频的 rtsp 推流。然后使用 ffmpeg 命令将视频流和音频流合并并且转换成 rtmp 流。该 rtmp 流是最终的推流地址。可将该地址更换到其他直播网站提供的 rtmp 地址。这样就可以实现其他平台的直播



回复

使用道具 举报

1万

积分

17

威望

13

贡献

神级创客

Rank: 8Rank: 8

积分
10690

优秀版主

发表于 2021-9-3 15:23:59     
点赞!!
回复

使用道具 举报

369

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
369
发表于 2021-9-13 17:18:45     
本帖最后由 ubuntu 于 2021-9-13 17:25 编辑

亲自出镜,赞.
欢迎与我进行rv1109 rv1126 方面的技术交流.
我的QQ: 712715984
我擅长的: 手机平台的camera driver isp
回复

使用道具 举报

26

积分

0

威望

0

贡献

技术小白

积分
26
发表于 2021-11-26 17:26:08     
点赞
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2022-1-20 10:00:33     
执行
ffmpeg  -f rtsp -rtsp_transport tcp -i "rtsp://127.0.0.1:8554/H264_stream_0" -i "rtsp://127.0.0.1:8555/audio_stream_0" -c  copy -f flv "rtmp://192.168.1.101/live/mainstream"
出现这个错误
Input #0, rtsp, from 'rtsp://127.0.0.1:8554/H264_stream_0':
  Metadata:
    title           : rtsp_demo
  Duration: N/A, start: 0.941667, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuv420p(yuv420p) (progressive), 800x1280, 30 fps, 26.67 tbr, 90k tbn, 60 tbc
Input #1, rtsp, from 'rtsp://127.0.0.1:8555/audio_stream_0':
  Metadata:
    title           : rtsp_demo
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #1:0: Audio: aac (LC), 16000 Hz, stereo, fltp
[tcp @ 0x765b0] Connection to tcp://192.168.1.101:1935 failed: Connection refused
[rtmp @ 0x5bb30] Cannot open connection tcp://192.168.1.101:1935
rtmp://192.168.1.101/live/mainstream: Connection refused

请问这是什么原因


回复

使用道具 举报

1万

积分

7

威望

0

贡献

神级创客

Rank: 8Rank: 8

积分
10371

突出贡献

发表于 2022-1-20 11:45:24     
xiongyingsun 发表于 2022-1-20 10:00
执行
ffmpeg  -f rtsp -rtsp_transport tcp -i "rtsp://127.0.0.1:8554/H264_stream_0" -i "rtsp://127.0. ...

这个示例只有在 rv1126_rv1109_linux_20210904.xml 版本确认能用。
确认一下你的 sdk 版本:
  1. cd sdk/
  2. realpath .repo/manifest.xml
复制代码
如果不是 rv1126_rv1109_linux_20210904.xml 。那就需要回退 sdk 代码再按照教程的操作来。


回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2022-1-20 14:11:04     
799959745 发表于 2022-1-20 11:45
这个示例只有在 rv1126_rv1109_linux_20210904.xml 版本确认能用。
确认一下你的 sdk 版本:
如果不是  ...

我的版本是这样的
/home/tyzc/work/rv1126_rv1109_linux_release_20211022/.repo/manifests/rv1126_rv1109_linux/rv1126_rv1109_linux_20211225.xml

但是我是从
rockx_face_attribute_aenc_venc_rtsp_service.cpp代码里,把rtsp 音频视频的推流进程搞出来了,然后再vlc中视频事可以看的,音频有读取,但是没听到声音,rtsp 推流地址已经生成了,用ffmpeg 合成推出来,就出现错误了~
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2022-1-20 14:31:49     
xiongyingsun 发表于 2022-1-20 14:11
我的版本是这样的
/home/tyzc/work/rv1126_rv1109_linux_release_20211022/.repo/manifests/rv1126_rv11 ...

音频流 跟视频流都可以正常用vlc听到,但是音频只能听到声卡的声音,拾音器获取的外部声音又听不到, 很奇怪~
回复

使用道具 举报

1万

积分

7

威望

0

贡献

神级创客

Rank: 8Rank: 8

积分
10371

突出贡献

发表于 2022-1-20 14:33:15     
xiongyingsun 发表于 2022-1-20 14:11
我的版本是这样的
/home/tyzc/work/rv1126_rv1109_linux_release_20211022/.repo/manifests/rv1126_rv11 ...

rv1126_rv1109_linux_20211225.xml 的 rkmedia 库更新了。而firefly_rockx_demo的仓库没有跟上更新。现在在维护这个仓库。这边也遇到了推流的问题。如果着急的话建议回退版本。
回复

使用道具 举报

74

积分

0

威望

0

贡献

技术小白

积分
74
发表于 2022-1-20 15:07:51     
799959745 发表于 2022-1-20 14:33
rv1126_rv1109_linux_20211225.xml 的 rkmedia 库更新了。而firefly_rockx_demo的仓库没有跟上更新。现在 ...

嗯哈,好的,目前我更改了,rk初始化的通道号,从2改成1,外部声音可以推了~不过想要rtsp 音频视频流同步推,用ffmpeg的方式好像不行,一直遇到问题,不知道大神有木有试过,推流已经创建号了,vlc都可以正常接,流应该是没问题了~
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表