Grüßt euch,
zur Installation habe ich alles wie meigrafd gemacht. Was am Anfang auch super funktioniert hat.(Verzögerungs freies Streamen (lowest streaming latency))
Danach habe ich im Webserver https Konfiguriert und einen VSftpd Server mit TLS Verschlüsselung eingerichtet.
Jetzt habe ich das Problem das auf der Streaming Webseite(nicht verändert) nach dem Starten des Skriptes auch den Stream anzeigt. Aber nach einem Refresh der Internetseite oder öffnen mit einen anderen Browser bleibt er beim Buffern stehen.
Über Mozilla bekomme ich die folgende Fehlermeldung in der Konsole angezeigt.
HTTP-Laden ist mit dem Status 404 fehlgeschlagen. Laden der Medienressource https://172.21.17.117/hls/live.m3u8 fehlgeschlagen.
Wenn ich richtig sehe ist diese Datei ja eigentlich nur dafür gedacht wenn der Client kein Flash unterstützt. Was bei mir ja eindeutig gegeben ist.
Weiterhin finde ich im Error Log diese Fehlermeldungen:
2014/09/23 13:28:06 [error] 10525#0: *32 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:28:06 [error] 10525#0: *34 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:28:12 [error] 10525#0: *39 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:28:12 [error] 10525#0: *41 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:28:17 [error] 10525#0: *44 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:28:17 [error] 10525#0: *46 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:29:47 [error] 10525#0: *112 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:29:47 [error] 10525#0: *114 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:29:53 [error] 10525#0: *115 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:29:53 [error] 10525#0: *117 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:32:00 [error] 10525#0: *187 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:32:00 [error] 10525#0: *189 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:34:13 [error] 10525#0: *272 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:34:13 [error] 10525#0: *275 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:34:18 [error] 10525#0: *276 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:34:18 [error] 10525#0: *278 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:34:55 [error] 10525#0: *299 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
2014/09/23 13:34:55 [error] 10525#0: *301 live: already publishing, client: 127.0.0.1, server: 0.0.0.0:1935
Alles anzeigen
Nach einiger Suche habe ich den Hinweis gefunden das die Meldung im Log bedeutet das er die Streaming Verbindung nicht ordnungsgemäß schließt und man solle Versuchen diese selbst zu schließen.
Das kann man mit drop_idle_publisher=2s erledigen. Danach klapt es öffters den Stream anzeigen zulassen, aber beiweiten immer noch nicht die ganze Zeit. Hat jemand noch Vorschläge was ich hier machen kann?
Achso NginX Läuft und statische Webseiten kann ich anscheinend ohne Probleme aufrufen.
(ich habe es aber auch mit Internet Explorer und Chrome ausgetestet und der Fehler bleibt gleich, wird aber nicht mehr in der Konsole angezeigt)
nginx.conf
user www-data;
worker_processes 2;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_types text/plain application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js application/x-mpegURL;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
##
# nginx-naxsi config
##
# Uncomment it if you installed nginx-naxsi
##
#include /etc/nginx/naxsi_core.rules;
##
# nginx-passenger config
##
# Uncomment it if you installed nginx-passenger
##
#passenger_root /usr;
#passenger_ruby /usr/bin/ruby;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
rtmp {
server {
listen 1935;
#chunk_size 8192;
notify_method get;
drop_idle_publisher 2s;
application rtmp {
live on;
meta copy;
push rtmp://127.0.0.1/live/; # push stream to app "live"
allow publish all;
allow play all;
# Configure HLS stream; here only short backlog from ramdisk
#hls on;
#hls_path /tmp/hls;
#hls_fragment 10s;
#hls_playlist_length 30s;
# Configure manual recording of keyframes only
# Needs HTTP GET to get triggered
#recorder timelapse {
# record keyframes manual;
# record_path /tmp/record; # my extended SD card partition
# record_suffix -keyframes.flv;
# record_unique on;
# record_interval 6h;
#}
# Configure manual recording of all frames / live video
#recorder ondemand {
# record video manual;
# record_suffix -dump.flv;
# record_path /tmp/record;
# record_unique on;
# record_notify on;
# record_max_size 1024M;
#}
#This will start/stop our ffmpeg script and camera stream (thanks #towolf)
exec_static /usr/local/bin/rtmp-nginx.sh;
exec_kill_signal term;
}
application live {
live on;
record off;
allow publish 127.0.0.1;
deny publish all;
allow play all;
}
}
}
Alles anzeigen
default
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts to this file
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 80; ## listen for ipv4; this line is default and implied
# listen [::]:80 default_server ipv6only=on; ## listen for ipv6
# rewrite ^(.*) https://$host$1 permanent;
return 301 https://$host$request_uri;
root /var/www/html;
#root /usr/share/nginx/www;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
# rtmp stat
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
# you can move stat.xsl to a different location
root /usr/src/nginx-rtmp-module;
}
# rtmp control
location /control {
rtmp_control all;
}
location /hls {
alias /tmp/hls;
autoindex on;
autoindex_localtime on;
set $sent_http_accept_ranges bytes;
types {
video/MP2T ts;
application/vnd.apple.mpegurl m3u8;
}
}
location /rtmpcontrol {
rtmp_control all;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
# allow ::1;
deny all;
}
# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
#location /RequestDenied {
# proxy_pass http://127.0.0.1:8080;
#}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# root html;
# index index.html index.htm;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
# HTTPS server
#
server {
listen 443;
server_name localhost;
root html;
index index.php index.html index.htm;
ssl on;
ssl_certificate /etc/ssl/private/vsftpd.pem;
ssl_certificate_key /etc/ssl/private/vsftpd.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ =404;
}
}
Alles anzeigen
Danke
Edit:
Das gleiche geschieht auch mit den Original Einstellungen ohne https(habe ich aus den Post extra kopiert)