Nginx RTMP record 不能录制或者保存视频的原因分析

原创 2018年04月15日 22:16:27

背景描述

今天用nginx, nginx-rtmp-module搭建了一台RTMP流式服务器,能正常的推流,正常的播放RTMP流,能实现直播功能,但是我想把推过来的视频流保存起来,于是查了下,发现是可以实现的,需要在nginx配置文件中配置一下,我按照网上的配置了,但是死活录制不了视频,我的nginx.cnf 配置如下:

rtmp {
    server {
        listen 1935;
        application videotest {
            live on;
            recorder rec1{
                record all;
                record_unique on;
                record_path /home/lab1107/record;
                record_suffix -%Y-%m-%d-%H_%M_%S.flv;
            }
        }
    }
}

原因分析

找错误原因,一般需要查看日志,于是我去查看nginx/logs/error 日志
这里写图片描述
日志信息很明显,是没有权限访问录制视频保存的路径。进一步发问,为什么没有权限呢?是不是Nginx 的程序拥有者没有权限访问,于是我用

  ps -aux|grep nginx 

命令查看了下
这里写图片描述
发现Nginx 的worker进程的用户尽然是nobody,到这时基本就知道问题出在哪里了,nobody 怎么有权限访问其他用户的路径呢

解决方案

修改 nginx work process的用户,由于nginx process 默认是nobody,需要修改为你录制视频保存的那个文件夹的所属用户,修改/usr/local/nginx/conf/nginx.cnf 配置文件,将 user nobody 改为user lab1107

 user nobody 改为 user lab1107

注:lab1107 为 视频保存的文件夹的所属用户
修改完成之后,重新加载一下nginx 的配置即可

./sbin/nginx -s reload

参考资料
stackoverflow
nginx-rtmp-module issues

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011242657/article/details/79954269

如何在nginx服务器上实现多媒体流的录制和转码

关于nginx流媒体服务器部署的文章已经有很多了,今天我这里讲一下如何在向服务器推流的同时将流转码为MP4文件保存下来,这里主要使用的是ffmpeg。 1、首先需要说明的是,不能用exec命令。他会在...
  • nonmarking
  • nonmarking
  • 2015-04-17 16:29:32
  • 3134

基于nginx-rtmp实现电视回看业务

软硬件环境 ubuntu 16.04 64bit Android Studio 2.2.3 OTT BOx with android 5.1.1 nginx 1.11.3 nginx-rtmp-mod...
  • djstavaV
  • djstavaV
  • 2017-01-19 14:56:45
  • 1969

【nginx-rtmp】09、指令(Directives)之 记录(Record)

五、记录/录制(Record) 01、record 语法:record [off|all|audio|video|keyframes|manual]* 上下文:rtmp, server, ...
  • envon123
  • envon123
  • 2017-08-03 09:50:41
  • 356

视频直播点播nginx-rtmp开发手册中文版

转自:http://www.cnblogs.com/zx-admin/p/5783523.html 2016年8月18日12:42:35 参照官方文档https://github.com/a...
  • kevinw9
  • kevinw9
  • 2016-10-31 18:32:40
  • 4557

用nginx搭建http/rtmp/hls协议的MP4/FLV流媒体服务器

前前后后搭建了两三个星期,终于可以告一段落,nginx实在是有点强大。写一篇笔记来记录一下这个过程中的思路和解决方案。 一.搭建nginx平台: 基本是基于http://blog.csdn.net/x...
  • u014623602
  • u014623602
  • 2016-01-06 11:56:36
  • 5853

librtmp 以record方式向red5推送直播流

之前,在百度空间中写了几篇博客,现在准备将博客迁移到CSDN上。博客原文如下: 在使用librtmp库来开发rtmp客户端程序;而熟悉red5的童鞋都知道,red5是支持客户端以record方式向其...
  • u013628117
  • u013628117
  • 2016-01-31 14:52:12
  • 2190

轻新视频录播程序,H264/AAC录制视音频,保存FLV,支持RTMP直播

  • 2014年05月29日 16:54
  • 2.71MB
  • 下载

Nginx Rtmp Learing 之HTTP HOOK回调及unix socket使用

Nginx Rtmp Learing 之HTTP HOOK回调和unix socket使用1. 名词解释 LMSS Live Media Streaming Service 直播流媒体服务 LMDS...
  • liwf616
  • liwf616
  • 2017-09-07 15:48:12
  • 425

Nginx RTMP 流媒体直播

1. RTMP协议介绍        RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数...
  • jazywoo123
  • jazywoo123
  • 2015-09-01 10:30:45
  • 1261

ngxin-rtmp-module 搭建及rtmp & hls 配置简单分享

安装 nginx #Nginx安装网上一搜一堆,其实就是下载nginx后 tar zxvf解压然后./configure 看看缺什么,然后yum imstanll什么。 最后省事一些注册到系统服务(/...
  • crazyzxljing0621
  • crazyzxljing0621
  • 2017-05-19 12:04:13
  • 682
收藏助手
不良信息举报
您举报文章:Nginx RTMP record 不能录制或者保存视频的原因分析
举报原因:
原因补充:

(最多只允许输入30个字)