如何将 cctv 素材转换为 h265 以在 nginx-rtmp 模块中进行流式传输和录制?

时间:2021-04-06 14:02:17

标签: nginx ffmpeg h.264 rtmp

我正在使用 nginx-rtmp-module here 从本地网络上的摄像头提取 rtsp 流并将其转换为 rtmp。然后将此 rtmp 流转换为 hls 并可供直播。它也被记录在 5 分钟的片段中。 (这些都可以在下面的 nginx.conf 中看到)。

我想将视频编解码器更改为 h265 以节省存储空间,因为每 5 分钟的视频为 ~230mb,并且使用 opencvpython,我能够使用 <100mb 每 5 分钟获得 h265,所以我知道有很多空间可以节省存储空间。

如何将流的编解码器更改为 h265

我尝试安装 libx265-dev 并设置 -vcodec libx265,但是这告诉我 flv 是一个无效的容器,而且我找不到用于流式传输 + 录制的有效容器。< /p>

我的nginx.conf

rtmp {
    server {
        listen 1935; # Listen on standard RTMP port

        application relay {
            
            live on;

            hls on;
            hls_path /tmp/hls;
            hls_fragment 15s;


            exec_static /usr/bin/ffmpeg -i rtsp://test:test@192.168.100.10:8554/fhd -vcodec copy -f flv rtmp://localhost:1935/relay/fhd; 

            # record block  
            record video;
            record_path /tmp/hls;
            record_unique on;
            record_interval 5m;
        }
    }
}

1 个答案:

答案 0 :(得分:3)

RTMP 协议不支持 h.265 编解码器。没有标准的方法可以做到这一点。