HLS mit Nginx-RTMP-Modul funktioniert nicht
Also habe ich installiert NGINX und dem RTMP-MODUL auf meinem mac in der usr/local/nginx Lage. RTMP-stream funktioniert nur nicht den HLS-version. Hier ist meine config Datei:
events {
worker_connections 1024;
}
rtmp {
server {
listen 1936;
chunk_size 4000;
application small {
live on;
# Video with reduced resolution comes here from ffmpeg
}
# video on demand
application vod {
play /var/flvs;
}
application vod2 {
play /var/mp4s;
}
# Many publishers, many subscribers
# no checks, no recording
application videochat {
live on;
# The following notifications receive all
# the session variables as well as
# particular call arguments in HTTP POST
# request
# Make HTTP request & use HTTP retcode
# to decide whether to allow publishing
# from this connection or not
on_publish http://localhost:8080/publish;
# Same with playing
on_play http://localhost:8080/play;
# Publish/play end (repeats on disconnect)
on_done http://localhost:8080/done;
# All above mentioned notifications receive
# standard connect() arguments as well as
# play/publish ones. If any arguments are sent
# with GET-style syntax to play & publish
# these are also included.
# Example URL:
# rtmp://localhost/myapp/mystream?a=b&c=d
# record 10 video keyframes (no audio) every 2 minutes
record keyframes;
record_path /tmp/vc;
record_max_frames 10;
record_interval 2m;
# Async notify about an flv recorded
on_record_done http://localhost:8080/record_done;
}
# HLS
# For HLS to work please create a directory in tmpfs (/tmp/hls here)
# for the fragments. The directory contents is served via HTTP (see
# http{} section in config)
#
# Incoming stream must be in H264/AAC. For iPhones use baseline H264
# profile (see ffmpeg example).
# This example creates RTMP stream from movie ready for HLS:
#
# ffmpeg -loglevel verbose -re -i movie.avi -vcodec libx264
# -vprofile baseline -acodec libmp3lame -ar 44100 -ac 1
# -f flv rtmp://localhost:1935/hls/movie
#
# If you need to transcode live stream use 'exec' feature.
#
application hls {
live on;
hls on;
hls_path /tmp/hls;
}
# MPEG-DASH is similar to HLS
application dash {
live on;
dash on;
dash_path /tmp/dash;
}
}
}
# HTTP can be used for accessing RTMP stats
http {
server {
listen 8080;
# This URL provides RTMP statistics in XML
location /stat {
rtmp_stat all;
# Use this stylesheet to view XML as web page
# in browser
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
# XML stylesheet to view RTMP stats.
# Copy stat.xsl wherever you want
# and put the full directory path here
root /path/to/stat.xsl/;
}
location /hls {
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /tmp;
add_header Cache-Control no-cache;
}
location /dash {
# Serve DASH fragments
root /tmp;
add_header Cache-Control no-cache;
}
}
}
Ich bin mit der hls
Anwendung zu streamen. Wenn ich den stream befindet sich auf rtmp://ip:1936/hls/test
ich es sehen kann in Ordnung. Wenn ich versuche und Ansicht http://ip:1936/hls/test.m3u8
ich kann es nicht sehen. Ich erstellt einen Ordner in diesem Speicherort für hls /usr/local/nginx/tmp/hls
. Im Wundern, wenn dies in der richtigen Stelle, da wird nichts angelegt in dem Ordner? Könnte es sein, Erlaubnis Fragen?
Ich benutze OBS zum streamen verwendet x246 encoding video aber nicht sicher, ob es AAC für audio.
Einer ähnlichen Angelegenheit hatte, hier: https://groups.google.com/forum/#!Thema/nginx-rtmp/dBKh4akQpcs
aber keine Antwort :(.
Jede Hilfe ist willkommen. Danke.
InformationsquelleAutor Safinn | 2015-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie Inhalte für HLS ist über port 8080 und rtmp-Streaming über 1936
Bedeutung, dass rtmp://ip:1936/hls/test
oder http://ip:8080/hls/test.m3u8
InformationsquelleAutor JPhix
sehen deine config, aber Sie legen die Dateien unter /tmp-Ordner nicht unter /usr/local/nginx (voller Pfad). Wenn das problem weiterhin besteht , eine gute Strategie ist, beginnen Sie mit einer Anwendung, die mit allen codecs (hls,mpeg-dash) ( wie die config-Beispiele in github ).
P. D: dieses Modul ist nur für h264 und aac
InformationsquelleAutor thorpedo