簡體   English   中英

將元數據插入實時視頻 stream

[英]Inserting meta data into a live video stream

我想實現以下目標,但尚不清楚這是否可能。


當前場景:

有人正在通過 OBS 將帶有音頻的視頻流式傳輸到媒體服務器,客戶端通過網站連接。

[OBS 流/視頻流] -> [AWS/外部流服務] -> 客戶端


想要的場景:

通過自定義媒體服務器捕獲此 stream 並通過在直播期間的某些時刻注入某些元數據來操縱它。 注意的重要性。

[OBS Stream/Video Stream] -> [My Custom Node.js Server to insert metadata] -> [AWS/External Streaming Service] -> Clients


想法:

這個想法是我想將 stream 同步到一些彈出窗口。 默認協議 stream 似乎是 OBS 的 RTMP,但也許可以更改。 在直播期間的給定時間,網站上的 html5 視頻播放器可以從直播中讀取這些標簽(通過一些額外的庫,如 video.js)並告訴 JS 應用程序顯示一些文本。 最后,歸結為將視頻 stream 同步到文本 stream (例如來自 websocket 連接)

潛在的解決方案:

  • ID3 標簽 我閱讀了 MP3 文件中的 ID3 標簽,但這似乎不是我想要的,因為它需要一個完整的.mp3 文件,並且不用於流(在FFMPEG Live Stream 中動態注入 ID3 )。 我想要的是動態地將元數據注入到這個 stream 中。 例如,在任何時候(動態選擇)注入一個引用數據庫的 id 就足夠了。

  • LTC/線性時間碼/SMPTE是否可以通過 node.js 以某種方式將其嵌入到視頻 stream 中? 這將使我能夠將時間與客戶端上的 id 匹配。

給定帶有音頻的傳入視頻 stream 是否可以這樣做? 如果是這樣,stream 的格式是什么,如何注入元數據?


編輯:在瀏覽器中,如果沒有 flash,似乎不支持 RTMP。 這是不行的,所以我需要使用另一種 stream 格式,例如 HLS/FLV?

聽起來像使用像Liquidsoap這樣的東西作為流媒體服務器可以將元數據插入 stream。 處理元數據的大量選項供您探索。

至於客戶端解碼,您也許可以在服務工作者中使用 javascript 可讀 stream 將服務器 output 拆分為您認為合適的元數據/視頻和處理。

我做了類似的事情來處理無限 mp3 stream 上的帶內元數據,這可能會給你一些關於從哪里開始的想法。 你可以在這里找到代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM