我在 Raspberry Pi 5 上有一个服务器(顺便说一下,8 GB 的 RAM)。我安装了 Nginx,它允许我和其他人通过一个不错的网站观看我的视频。虽然经过反复尝试和各种错误,我发现我无法在 Pi 上启用视频流。它会超载并因某种原因损坏操作系统,并迫使我重新安装它(几个小时后我又会这样做……)。但我可以允许下载,没有问题。
所以我的问题是,我是否可以允许流式传输部分视频并允许完全下载它们。更具体地说(因为这个解释可能很糟糕),我希望用户开始播放视频,浏览器只显示光标所在位置的第一帧,而不会在视频上向前移动 - 使 Pi 不会超载加载视频。这样我们就知道我们想看哪个视频(通过了解视频中的内容。标题是不够的),然后我们实际上会下载视频来观看它。如果我还是没有解释清楚,请告诉我,我会再试一次。
我的服务器配置:
server {
listen 98 default_server ssl;
ssl_certificate /etc/ssl/certs/...;
ssl_certificate_key /etc/ssl/private/...;
server_name default_server;
root /srv/...;
location "/favicon.ico" {
alias /srv/...;
}
#location ~* ^.+\.(mp4|mp3)$ {
# add_header Content-disposition "attachment";
#}
autoindex on;
autoindex_format html;
autoindex_exact_size off;
autoindex_localtime on;
add_before_body "/,theme/nginx-before.html";
add_after_body "/,theme/nginx-after.html";
location /,theme/ {
root /srv/...;
}
location / {
auth_basic "";
auth_basic_user_file "/srv/...";
access_log on;
try_files $uri $uri/ =404;
}
}
这似乎已经做得足够好了:
我将流媒体传输(和正常下载)的速率限制为 1 B/s,但仅限于前 5 MB 之后,以便观看前几秒并在之后停止。如果我们想下载视频,我们会将其添加
?download=1
到 URL 中,然后 if 语句将被触发,并将下载速率限制为 5 MB/s。网站上的按钮有助于编写该?download=1
内容。或者一个开关。或者我可以尝试将速率限制为一个较低但足够的值,而不是仅仅阻止流式传输,但这需要测试。 这两个选项似乎都不错。