Skip to content

[bug]当推送短视频时,push不触发 #211

@silent-dark

Description

@silent-dark

当作为rtmp中继服务器时,若发布的视频小于一定时长或大小(所用测试文件为2M左右,15s),不会触发push(如果再次推送同一文件则会触发),但使用exec_push+ffmpeg做转发无此问题。从现象分析,似乎push的实现有缓存。

Expected behavior / 期望行为

每次发布视频都正常执行push

Actual behavior / 实际行为

如问题描述

OS and Nginx version / 操作系统和 Nginx 版本号

nginx 1.20.1 on centos-7 / ubuntu-18.04

Configuration file / 配置文件

rtmp {
    server {
        listen 1935;
        access_log /var/log/nginx/rtmp.log;

        application dvr_proxy {
            live on;
            push rtmp://192.168.16.45/$app/$name;
        }
    }
}

使用exec_push+ffmpeg时的配置:

rtmp {
    server {
        listen 1935;
        access_log /var/log/nginx/rtmp.log;

        application dvr_proxy {
            live on;
            exec_push ffmpeg -i rtmp://localhost/$app/$name -c copy -f flv -y rtmp://192.168.16.45/$app/$name;
        }
    }
}

Steps to reproduce the behavior / 复现问题步骤

1)准备一个短视频,时长不超过15s,大小2M左右;
2)推送短视频到中继服务器,推流命令:
ffmpeg -re -i demo.mp4 -c copy -f flv -y rtmp://192.168.16.41/dvr_proxy/20210001

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions