欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

摄像头 使用ffmpeg推流实现整理记录

程序员文章站 2022-03-04 23:28:40
...

目的:将摄像头视频流rtsp转换为http flv供网页显示

1.使用srs作为视频流服务器

2.使用ffmpeg作为推流工具

3.摄像头使用雄迈方案

4.srs通过docker部署,版本3

5.srs低延时配置:

g_tank        file;
srs_log_file        ./objs/srs.log;
daemon              on;
http_api {
    enabled         on;
    listen          1985;
}
http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
stats {
    network         0;
    disk            sda sdb xvda xvdb;
}
vhost __defaultVhost__ {
    hls {
        enabled         on;
    }
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
    tcp_nodelay     on;
    min_latency     on;

    play {
        gop_cache       off;
        queue_length    10;
        mw_latency      100;
    }

    publish {
        mr off;
    }
}

6.ffmpeg命令(暂时只支持h264)


ffmpeg -rtsp_transport tcp -threads 1 -max_delay 100  -stimeout 5000 -i "rtsp://10.10.10.37:554/user=admin&password=&channel=1&stream=0.sdp?real_stream" -vcodec copy -an -fflags nobuffer -preset  ultrafast -tune   zerolatency -acodec copy -f flv -y "rtmp://10.10.1.4:1935/live/camera1"

7.前端使用flv.js进行播放

8.flv.js播放有延迟,需要追赶进度

配置video的currenttime,具体时间可通过

flvPlayer.buffered.end(0)获取