1. 程式人生 > 其它 >【Dopi Micropython 視覺AI應用開發教程】【實驗8】RTSP傳輸視訊

【Dopi Micropython 視覺AI應用開發教程】【實驗8】RTSP傳輸視訊

技術標籤:dopipythonlinux人工智慧

【實驗8】RTSP傳輸視訊

簡介

RTSP(Real Time Streaming Protocol),RFC2326,實時流傳輸協議,是TCP/IP協議體系中的一個應用層協議。通過RTCP來控制播放,將視訊資料打包為RTP包進行傳輸。

示例

import rtsp
import time

def find_nal(data, size):
    nals = data.split(b'\x00\x00\x00\x01')
    for i in range(len(nals)):
        nals[i] = b'\x00\x00\x00\x01' + nals[i]
    return nals[1:]

#開啟事前準備的H264資料進行傳輸
f = open("/root/app/res/stream.h264","rb")
data = f.read()
size = len(data)
f.close()

#定義時間戳ts,每個nal包間隔40ms
ts = 0
tick = 40000
nals = find_nal(data,size)
rtsp.create(554, "/live.sdp")
while True:
    for i in range(len(nals)):
        rtsp.send_video(nals[i], len(nals[i]), ts)
        ts = ts + tick
	time.sleep_ms(10)#重複傳送,發完後睡眠一段時間
	
rtsp.destroy()

執行後,電腦端使用VLC工具訪問估計預設地址:rtsp://192.168.137.25/live.sdp, 將會看見傳輸的視訊內容。

延伸

嘗試一下把攝像頭,編碼器,RTSP整合起來,進行視訊傳輸。