Скрытие ключа потока из представления источника и веб-консоли - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть сайт прямой трансляции, над которым я сейчас работаю, и я столкнулся с проблемой, полностью скрывающей ключ потока.Я думал только об одном варианте, чтобы обойти это, но вы все еще можете видеть ключ потока в исходном виде представления и выводе веб-консоли:

enter image description here

Единственный вариант, о котором я мог подумать, - это создание пользовательской страницы 404 с PHP.Строка запроса будет уникальной для каждого пользователя, но не будет содержать ключ потока пользователя и будет перенаправлять в файл m3u8:

header("Location: /live/source/" . $stream_key . "/index.m3u8");

Выглядит как хорошая идея.Вы больше не можете видеть ключ потока при просмотре исходного кода, но я все равно получаю тот же вывод в консоли, как показано выше.

Я использую nGinx с RTMP и HLS и PHP для бэкэнда.Я попытался использовать hls.min.js и VideoJS для видеоплееров и получить те же результаты.Пожалуйста, дайте мне знать, если вы можете придумать какие-либо другие варианты.Если есть способ сделать это строго с помощью файла конфигурации nGinx, я бы на 100% попробовал это сделать.Содержимое моего файла nginx.conf также ниже.Заранее спасибо!

user root;
worker_processes 2;

events {
    worker_connections 2048;
    multi_accept on;
}

http {
    include mime.types;

    server {
        listen 80;
        listen 443 ssl;

        server_name live.xxxxxxxx.tv;
        root /home/ubuntu/xxxxxxxx;

        ssl_certificate /home/ubuntu/xxxxxxxx/ssl/xxxxxxxx.crt;
        ssl_certificate_key /home/ubuntu/xxxxxxxx/ssl/server.key;

        location / {
            add_header Access-Control-Allow-Origin *;

            access_log off;
            log_not_found off;
        }

        location ~ \.php$ {
            add_header Access-Control-Allow-Origin *;

            try_files $uri =404;
            include fastcgi_params;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }

        error_page 404 = /404.php;
    }
}

rtmp {
    server {
        listen 1935;
        buflen 3s;
        chunk_size 4096;
        max_message 2M;
        max_streams 32;
        notify_update_timeout 1m;

        # on_publish http://api.xxxxxxxx.tv/stream/start;
        # on_publish_done http://api.xxxxxxxx.tv/stream/end;

        application go {
            live on;

            access_log off;

            hls on;
            hls_type live;
            hls_fragment 3s;
            hls_playlist_length 15s;
            hls_nested on;
            hls_path /home/ubuntu/xxxxxxxx/live/source;

            record all;
            record_unique off;
            record_interval 5m;
            record_suffix .mp4;
            record_path /home/ubuntu/xxxxxxxx/archive;

            exec_push ffmpeg -i rtmp://live.xxxxxxxx.tv/go/$name -c:v libx264 -c:a copy -s 480x320 rtmp://localhost/live/320p/$name;
        }
    }
}
...