影像串流 RE

      在〈影像串流 RE〉中尚無留言

RootEncoder 將影像傳送到 SRS 伺服器很容易,不僅會傳送 RTMP 協定,還同時傳送 WebRtc 的 UDP 協定。

相關代碼

執行底下代碼即可開始傳送影像及聲音

    val url="rtmp://ip/live/video1"
    fun btnVideo_click(view: View){
        if(genericStream.isStreaming){
            ui.btnVideo.setBackgroundResource(R.drawable.ic_video_start)
            genericStream.stopRecord()
            genericStream.stopStream()
        }
        else{
            ui.btnVideo.setBackgroundResource(R.drawable.ic_video_stop)
            genericStream.startStream(url)
            val file = SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(Date())
            genericStream.startRecord("/sdcard/Download/patrolcar/video/${file}.mp4", RecordController.Listener{})
        }
    }

startStream

genericStream.startStream(url) 即開始傳送。url 的格式為 “rtmp://ip/live/video1”

startRecord

使用 genericStream.startRecord(path, RecordController.Listener) 即可在手機中儲存影片,建議 path 設定為 “/sdcard/Download” 之下的目錄,因為新版的 Android 開放 Download 目錄,是不需要權限的。

SRS 觀看

連線到 SRS 伺服器時,如果使用 SRS 的 WebRtc 播放器,即可看到幾乎無延遲的畫面,但如果用 rtmp 播放器,則會約有 2 秒的延遲。

使用 WebRtc 播放器還有一個好處,就是手機停止播放時,瀏覽器跟著停止,當手機再度連線重新播放,客戶端的瀏覽器會立即自動播放。

如果是使用 rtmp 播放器時,當手機斷線重連重新播放時,客戶端的瀏覽器需按下 F5 重新整理才會開播放。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *