跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 用 Java 做含有实时流媒体通信功能的服务端有哪些方式?
未分類
2 10 月 2020

用 Java 做含有实时流媒体通信功能的服务端有哪些方式?

用 Java 做含有实时流媒体通信功能的服务端有哪些方式?

資深大佬 : tctc4869 3

有两个客户端,一个客户端用于实时采集声音,并编码成 aac 格式,然后把采集编码后的音频流推流到输服务器,然后另外一个客户端,连接服务器,进行拉流监听采集端的声音。当然权限都申请了。

推流与拉流的话,感觉用什么传输协议都可以,哪怕是 tcp 与 udp 都行,也可以用 WebSocket,按照我的 猜想,应该是在服务端,用 byte[]接收,然后把 byte[]送到拉流的客户端就可以。

不过如果实时性要求高一些,有博客建议用 RTMP,RTSP 这两个传输协议,如果是用这 2 个协议话,java 的服务端适合用什么框架么?有人能指点一下么?

用 java 做含有实时通信功能的流媒体服务端有哪些方式?

大佬有話說 (16)

  • 資深大佬 : qwerthhusn

    买个阿里云的直播服务就行了啊
    如果客户端数量比较少,阿里云的费用也很少的
    如果客户端数据较多,你认为你自己(没有相关流媒体的经验)写的能 hold 住?

  • 資深大佬 : chinvo

    正确做法是业务系统只做鉴权和记录,流的转发工作交给专门的流服务器

  • 主 資深大佬 : tctc4869

    谢谢指点,我知道 java 做这个可能有点困难,但是有哪些第三方的开源免费可用的流服务器么?
    @chinvo

  • 主 資深大佬 : tctc4869

    @qwerthhusn 其实这样的话,我觉得不如直接去用音视频方面的第三方的 sdk 工具

  • 資深大佬 : chinvo

    @tctc4869 nginx rtmp module

  • 資深大佬 : manhere

    @tctc4869 ZLMediaKit

  • 資深大佬 : hugedata

    我补上一个 nginx hls module 。
    另外,你可以了解一下 srs 已经发布到 3.0 了。比较稳定。

  • 主 資深大佬 : tctc4869

    @manhere 谢谢

  • 資深大佬 : jiobanma

    我有一个开源的流媒体服务,不过没有做音频的处理。使用的是 javacv 这个框架,封装的是 ffmpeg 。服务主要是通过 rtsp 转 rtmp 可以参考一下希望可以帮助到你。https://github.com/banmajio/RTSPtoRTMP

  • 主 資深大佬 : tctc4869

    ffmpeg 的开源是基于 GPL 协议,只是基于这个开发应用的话,不改变扩展 ffmpeg 的代码,不需要项目开源把?

  • 主 資深大佬 : tctc4869

    @manhere
    @hugedata
    @chinvo
    @jiobanma

    问一下,android 的话,有哪些推流软件呢,便于测试

  • 資深大佬 : twoconk

    andriod 的话,可以考虑 anyrtc 开源的跨平台客户端( https://github.com/anyrtcIO-Community/anyRTC-RTMP-OpenSource ) 或者 LaiFeng ( https://github.com/LaiFeng-Android/SopCastComponent) 都方便定制修改

  • 主 資深大佬 : tctc4869

    谢谢
    @twoconk

  • 主 資深大佬 : tctc4869

    @chinvo
    @hugedata

    nginx 1.7.11.3 Gryphon 也可以

  • 主 資深大佬 : tctc4869

    @chinvo 问一下鉴权问题,如果业务系统(带有用户系统以及鉴权功能)和流媒体服务都是分成两个服务器各自负责的,那鉴权流程一般是怎么弄的,
    开源的流媒体服务器,直接启动运行,实时观看,比如那些可以直接输入 rtmp 的 url 就可以进行采集并实时推流的软件和拉流的播放器软件,进行鉴权杜绝非法拉流或非法推流的情况,这个鉴权怎么做比较合适?

    我只想到音视频流经过业务系统转发到流媒体服务器,转发之前进行鉴权,但这样做确定延迟不会很大么?

  • 資深大佬 : chinvo

    @tctc4869 #15 前面说的这些流媒体服务器都有相关解决方案

    比如 nginx rtmp module 有 before_push before_play 等设置项, 可以设置 shell 或 URL 去处理推送和播放事件来决定是否放行

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具