arut / nginx-rtmp-module

NGINX-based Media Streaming Server
http://nginx-rtmp.blogspot.com
BSD 2-Clause "Simplified" License
13.46k stars 3.51k forks source link

ffmpeg play video on demand stream not found #368

Open wingston-quiver opened 10 years ago

wingston-quiver commented 10 years ago

i've set up the rtmp.conf for my nginx server as follows

rtmp {
    server {
        listen 1935;
        application vod {
            live on;

            play /media/70TB_ingest/s3/files;
            allow play all;
            allow publish all;
           notify_method get;
        }
    }
}

but when i try to play a file in that folder via ffmpeg to test it,

$ ffmpeg -loglevel debug  -i rtmp://38.98.50.32:1935/vod/ft_1000041_5320882a688ba.mov                                                                                 [13:19:43]
ffmpeg version 2.1.4 Copyright (c) 2000-2014 the FFmpeg developers
  built on Mar  2 2014 13:38:24 with Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.1.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libavresample   1.  1.  0 /  1.  1.  0
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input file with argument 'rtmp://38.98.50.32:1935/vod/ft_1000041_5320882a688ba.mov'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file rtmp://38.98.50.32:1935/vod/ft_1000041_5320882a688ba.mov.
Successfully parsed a group of options.
Opening an input file: rtmp://38.98.50.32:1935/vod/ft_1000041_5320882a688ba.mov.
[rtmp @ 0x7fa92140a3a0] Handshaking...
[rtmp @ 0x7fa92140a3a0] Type answer 3
[rtmp @ 0x7fa92140a3a0] Server version 13.14.10.13
[rtmp @ 0x7fa92140a3a0] Proto = rtmp, path = /vod/ft_1000041_5320882a688ba.mov, app = vod, fname = ft_1000041_5320882a688ba.mov
[rtmp @ 0x7fa92140a3a0] Server bandwidth = 5000000
[rtmp @ 0x7fa92140a3a0] Client bandwidth = 5000000
[rtmp @ 0x7fa92140a3a0] New incoming chunk size = 4096
[rtmp @ 0x7fa92140a3a0] Creating stream...
[rtmp @ 0x7fa92140a3a0] Sending play command for 'ft_1000041_5320882a688ba.mov'
[rtmp @ 0x7fa92140a3a0] Server error: Video on demand stream not found
rtmp://38.98.50.32:1935/vod/ft_1000041_5320882a688ba.mov: Operation not permitted

but i know the file exists because i can play it from the http url for the same file. the port is open because from the nginx access log i can see the PLAY request for the file but i still cant seem to play the file in vlc / ffmpeg cli

lystormenvoy commented 6 years ago

the same problem

lystormenvoy commented 5 years ago

I have found that it maybe cause by nfs. I mount a nfs path to my vod dir, then I can't play the rtmp stream. Since I umount it, and upload a mp4 video, then it work. Check the permission