簡體   English   中英

ffmpeg - 帶有 mp4 片段的 rtsp 實時視頻

[英]ffmpeg - live video from rtsp with mp4 fragmented

我有以下設置:

  • 覆盆子 4B(4GB 內存)
  • Raspbian 10(克星)
  • ffmpeg 4.1.6

我想嘗試什么:

我想從 RTSP stream 制作一個一對一的視頻 stream 到我的瀏覽器,而不保存文件(如.ts 或.m3u),但只需將原始 mp4 stream 推送到 .network 中的 HTML5 視頻標簽中。

我已經取得了一些成功,但它從來都不是一個流暢或好的視頻 stream,但總是停下來繼續。

我使用 PHP passthru() function 來調用 ffmpeg,最后我通過管道傳輸了視頻 stream

以下是一些嘗試:

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Accept-Ranges: bytes");
header("Connection: keep-alive");

passthru("ffmpeg -rtsp_transport tcp -i \"rtsp://192.168.0.1:554/livestream/12\" -c:v copy -b:v 2M -movflags frag_keyframe+empty_moov -f mp4 pipe:");

passthru("ffmpeg -rtsp_transport tcp -i \"rtsp://192.168.0.1:554/livestream/12\" -b 1024k -minrate 1024k -bufsize 2048k -r 20 -movflags frag_keyframe+empty_moov -f mp4 pipe:");

passthru("ffmpeg -rtsp_transport tcp -i rtsp://192.168.0.1:554/livestream/12 -r 10 -t 60 -movflags frag_keyframe -f mp4 pipe:");

遺憾的是直到現在都沒有答案。

我可以告訴你為什么不順利,因為ffmpeg需要實時轉換,這需要大量的CPU資源,passthrough -c copy不行,因為pipe相比只復制到a似乎有局限性文件。

我在我的筆記本電腦上工作,CPU 達到 90%(總體)

PU-modus(sen):32 位、64 位 Bytevolgorde:Little Endian 地址大小:39 位物理位,48 位虛擬 CPU:8 個在線 CPU's-lijst:0-7 Draden per kern:2 Kernen per voet:4 CPU -voeten:1 NUMA 節點:1 Producent-ID:GenuineIntel CPU 系列:6 Model:140 Modelnaam:第 11 代 Intel(R) Core(TM) i7-1165G7 @ 2.80GHz

我將這些 arguments 用於 ffmpeg。

            "-re", 
            "-rtsp_transport", "tcp", 
            "-max_delay", "30000000",
            "-i", rtspStream,
             "-g", "52",
             "-movflags", "frag_keyframe+empty_moov", 
            "-c:v", "h264",
            "-an",   
            "-f",  "mp4",          
            "-y", "-"

我能給你的唯一建議是,為 Raspberry py 定制 FFMPEG 構建,啟用 Neon 優化。 這應該給它更多的權力。

https://www.codeinsideout.com/blog/pi/compile-ffmpeg/

祝你好運

暫無
暫無

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

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