在Arch Linux上使用Makepkg
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
RTMP非常适合提供实时内容。将RTMP与FFmpeg配对时,可以将流转换为各种质量。Vultr非常适合这些应用程序,因为它们提供了快速而专用的CPU性能。Vultr的全球网络还确保您能够以最小的延迟交付高质量的实时内容。让我们开始吧!
安装从源代码编译Nginx和Nginx-RTMP所需的工具。
sudo yum install pcre pcre-devel openssl openssl-devel zlib zlib-devel -y
创建一个工作目录并切换到该目录。
mkdir ~/working
cd ~/working
下载Nginx和Nginx-RTMP源。
wget http://nginx.org/download/nginx-1.9.7.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
安装解压缩包。
sudo yum install unzip
提取Nginx和Nginx-RTMP源。
tar -xvf nginx-1.9.7.tar.gz
unzip v1.2.1.zip
切换到Nginx目录。
cd nginx-1.9.7
添加模块以编译到Nginx中。包括Nginx-RTMP。
./configure --add-module=../nginx-rtmp-module-1.2.1/
使用Nginx-RTMP编译并安装Nginx。
make
sudo make install
为Nginx创建一个SystemD单元文件。
sudo nano /usr/lib/systemd/system/nginx.service
用以下内容填充文件。
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
启动并启用Nginx服务。
sudo systemctl start nginx.service
告诉SystemD在启动时自动启动Nginx服务。
systemctl enable nginx.service
安装epel-release和更新系统。
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
安装Nux存储库。
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
安装FFmpeg及其开发包。
sudo yum install ffmpeg ffmpeg-devel -y
打开Nginx配置文件。
sudo nano /usr/local/nginx/conf/nginx.conf
将以下内容添加到配置中。
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
}
application live360p {
live on;
record off;
}
}
}
添加该配置文本后,您可以自定义设置,例如视频比特率,音频比特率和分辨率。这些更改将仅应用于质量较低的流。要添加更多质量,请复制并粘贴exec FFmpeg行并更改设置。您还需要创建一个新的应用程序。您可以通过复制并粘贴已包含的live360示例来执行此操作。不要忘记用新应用程序的地址更新exec FFmpeg行。您可以通过更改exec FFmpeg行中的最终RTMP地址来执行此操作。
注意:之后 更改值-b:v将更改视频比特率。以千比特/秒为单位。之后更改值-b:a将更改音频比特率。以千比特/秒为单位。之后更改值-s将更改分辨率。
按CTRL+ 保存文件X。
重新启动Nginx。
sudo service nginx restart
注意: 为了获得最佳性能,每个要转换的流都应具有自己的CPU内核。例如,如果要从720P流中创建两种品质360P和480P,则应使用至少具有两个CPU内核的Vultr实例。
如果您使用防火墙,则需要确保TCP 1935允许。
当前配置允许任何人流式传输到您的服务器。我们可以通过仅授予某些IP地址发布权限来解决此问题。打开Nginx配置。
sudo nano /usr/local/nginx/conf/nginx.conf
查找以下行。
live on;
record off;
将以下内容添加到上述各行中。更改0.0.0.0为您的实际IP地址。
allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;
现在,配置将如下所示。
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;
exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
}
application live360p {
live on;
record off;
allow publish 127.0.0.1;
allow publish 0.0.0.0;
deny publish all;
}
}
}
按CTRL+ 保存文件X。
重新启动Nginx。
sudo service nginx restart
流应用程序通常具有两个用于连接信息的字段。第一个字段通常用于服务器信息,第二个字段通常用于流名称或键。列出了您应放置在每个字段中的信息。流名称或键可以设置为任何内容。
Field 1: rtmp://your.vultr.ip/live/
Field 2: stream-key-you-set
要查看流,请在支持RTMP的播放器中打开以下链接。
rtmp://your.vultr.ip/live/stream-key-you-set
rtmp://your.vultr.ip/live360p/stream-key-you-set
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息