CentOS9部署音视频转m3u8系统

最近看了一些视频想要下下来,发现都是m3u8格式的,突发奇想了一下,如果自己搞一个系统来将我的音视频转成m3u8格式的岂不是美滋滋,于是花了几天时间,手搓了一个系统,这个系统大致功能就是用户将音视频上传后,会自动转换成m3u8格式的文件并且会提供转换后的m3u8文件播放地址给用户。

系统环境

1、CentOS Stream 9
2、nasm 点击这里nasm官方下载
3、ffmpeg 点击这里ffmpeg官方下载
4、nginx 点击这里Nginx官方下载
5、python3
6、mysql8
7、svtm3u8 点击这里查看项目

部署步骤

一、安装编译所需要的环境

1
2
3
dnf -y install gcc gcc-c++ make python3 git wget zip unzip
dnf groupinstall "Development Tools" -y
dnf -y update

二、安装软件

1、安装nasm
1
2
3
4
5
wget https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.gz
tar -zxvf nasm-2.16.03.tar.gz
cd nasm-2.16.03
./configure --prefix=/usr/local/nasm
make && make install
2、配置环境变量,将nasm配置为全局
1
vi /etc/profile
1
2
export NAMS_HOME=/usr/local/nasm
export PATH=$PATH:$NAMS_HOME/bin

nasmprofile

3、编译安装ffmpeg
1
2
3
4
5
6
dnf -y install x264-devel
ldconfig
wget https://ffmpeg.org/releases/ffmpeg-7.1.tar.xz
tar -xvf ffmpeg-7.1.tar.xz
cd ffmpeg-7.1
./configure --enable-shared --enable-libx264 --enable-gpl --prefix=/usr/local/ffmpeg
4、修改环境变量,将ffmpeg配置为全局
1
vi /etc/profile
1
2
3
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$PATH:$FFMPEG_HOME/bin
export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH

ffmpegprofile

5、编译安装nginx

参考这篇文章 CentOS7编译安装nginx

6、安装mysql8

参考这篇文章 CentOS7在线安装并配置Mysql8.x

因为这里我用的是CentOS Stream 9,所以选的时候要选el9而不是el7,el7是centos7的,el9才是centos stream 9的

7、下载项目、配置并运行
1
2
3
mkdir -p /www/
git clone https://github.com/StephenJose-Dai/svtransferm3u8.git m3u8
cd m3u8
7.1、导入数据库
1
2
mysql -u root -p
输入数据库密码
1
2
create database m3u8info;
source /www/m3u8/db/svtm3u8.sql;
7.2、将nginx配置文件复制到/usr/local/nginx/conf/v_hosts中
1
2
3
mkdir -p /usr/local/nginx/conf/v_hosts
cd /www/m3u8/nginxconfig/
cp m3u8.conf /usr/local/nginx/conf/v_hosts

然后需要在 /usr/local/nginx/conf/nginx.conf 加一条

1
include /usr/local/nginx/conf/v_hosts/m3u8.conf;

nginx

然后编辑 /usr/local/nginx/conf/v_hosts/m3u8.conf ,里面的listen和server_name填成你自己实际的即可

7.3、修改app.py中的数据库和上传路径信息
1
vi app.py

appdatabaseinfo

第一个红框是上传路径和输出目录以及你的域名
比如你把项目丢到了/www中,那上传路径应该是/www/m3u8/upload,输出路径应该是/www/m3u8/output,域名就是你nginx配的域名,有端口的话就是域名加端口,比如 http://abc.com:9999
第二个红框就是数据库的IP、用户、密码、数据库名称以及端口号,以你自己实际的为准

7.4运行项目
1
2
3
4
5
6
7
8
9
10
pip install random
pip install string
pip install flask
pip install mysql.connector
pip install datetime
pip install ipaddress
pip install subprocess
pip install time
pip install sys
有报错的问题不大,主要是在pip install flask和mysql.connector还有ipaddress没报错就行
1
python app.py
1
2
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
systemctl restart mysqld

后端默认端口是7788,所以nginx反向代理是7788
启动好后,你可以访问http://你的域名:你的端口或者http://你的域名即可访问

xiaoguotu1
xiaoguotu2
xiaoguotu3
xiaoguotu4

三、微信扫一扫关注我吧

戴戴的Linux 戴戴的Linux

文章目录
  1. 1. 最近看了一些视频想要下下来,发现都是m3u8格式的,突发奇想了一下,如果自己搞一个系统来将我的音视频转成m3u8格式的岂不是美滋滋,于是花了几天时间,手搓了一个系统,这个系统大致功能就是用户将音视频上传后,会自动转换成m3u8格式的文件并且会提供转换后的m3u8文件播放地址给用户。
  • 系统环境
  • 部署步骤
    1. 一、安装编译所需要的环境
    2. 二、安装软件
      1. 1、安装nasm
      2. 2、配置环境变量,将nasm配置为全局
      3. 3、编译安装ffmpeg
      4. 4、修改环境变量,将ffmpeg配置为全局
      5. 5、编译安装nginx
      6. 6、安装mysql8
      7. 7、下载项目、配置并运行
        1. 1. 7.1、导入数据库
        2. 2. 7.2、将nginx配置文件复制到/usr/local/nginx/conf/v_hosts中
        3. 3. 7.3、修改app.py中的数据库和上传路径信息
        4. 4. 7.4运行项目
    3. 三、微信扫一扫关注我吧


  • 本站总访问量 本文总阅读量