You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python从本地MP4文件模拟RTSP流适配GCP架构?

用Python将MP4模拟为RTSP流并部署在GCP环境

实现思路

完全可以实现。无需依赖Vertex AI Vision,通过轻量RTSP服务器 + Python推流脚本的组合,就能把MP4文件模拟成持续的RTSP流,且可部署在GCP任意允许的区域,完全适配原有分析架构。

具体步骤

1. 部署轻量RTSP服务器

选用rtsp-simple-server(开源轻量RTSP服务器,无系统依赖),部署在GCP Compute Engine实例:

  • 选择你项目允许的区域创建实例,实例类型选e2-micro即可满足需求
  • 下载对应Linux amd64版本的rtsp-simple-server二进制文件,解压后得到可执行文件
  • 启动服务器(后台持续运行):
    nohup ./rtsp-simple-server &
    
  • 配置GCP防火墙规则,允许外部访问该实例的554端口(TCP和UDP协议都需开放)

2. 编写Python推流脚本

使用pyav(FFmpeg的Python绑定库)读取MP4文件,循环推流到RTSP服务器,模拟摄像头的持续输出:

  • 先安装依赖包:
    pip install av
    
  • 编写脚本mp4_to_rtsp.py:
    import av
    import time
    
    # 配置参数,替换为实际路径和实例IP
    MP4_FILE_PATH = "/path/to/your/sample.mp4"
    RTSP_STREAM_URL = "rtsp://<你的GCE实例公网IP>:554/camera-stream"
    
    def loop_stream_mp4():
        # 打开MP4文件
        input_container = av.open(MP4_FILE_PATH)
        video_stream = input_container.streams.video[0]
    
        # 初始化RTSP输出流
        output_container = av.open(RTSP_STREAM_URL, mode='w', format='rtsp')
        output_stream = output_container.add_stream(template=video_stream)
    
        while True:
            # 逐帧读取并推送
            for frame in input_container.decode(video_stream):
                # 重置帧时间戳,适配循环推送
                frame.pts = None
                packet = output_stream.encode(frame)
                if packet:
                    output_container.mux(packet)
                # 按原视频帧率控制推送速度,避免流卡顿
                time.sleep(1 / video_stream.rate)
            
            # 视频播放完毕后重置到开头,实现循环推流
            input_container.seek(0)
            print("视频循环重启,继续推流")
    
    if __name__ == "__main__":
        try:
            loop_stream_mp4()
        except KeyboardInterrupt:
            print("推流已停止")
    

3. GCP环境部署与运行

  • 将MP4样例文件上传到Compute Engine实例(可直接上传到本地磁盘,或挂载Cloud Storage桶读取),修改脚本中的MP4_FILE_PATH为实际路径
  • 后台运行Python脚本,确保断开SSH连接后仍持续推流:
    nohup python3 mp4_to_rtsp.py &
    

验证

在GCP环境内(比如你的视频分析服务所在实例),使用配置的RTSP_STREAM_URL即可访问模拟的RTSP流,访问方式与真实IP摄像头的RTSP流完全一致,无需改动原有分析架构。

内容的提问来源于stack exchange,提问作者Samara Prass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:12:10