Browse Source

bak mds

master
master 2 years ago
parent
commit
e9c0b0a078
  1. 19
      market/1M带宽的服务器视频分辨率、帧率和码率应该怎么选.md
  2. 73
      market/CentOS_7如何创建loop设备读取iso磁盘镜像文件内容.md
  3. 62
      market/CentOS_7如何安装Docker_Engine.md
  4. 115
      market/CentOS_7如何用Docker安装开源git仓库管理软件Gogs.md
  5. 81
      market/CentOS_7如何编译安装Nginx-RTMP直播插件.md
  6. 64
      market/CentOS_7如何配置证书连接ssh及禁用密码登陆.md
  7. 105
      market/CentOS_8.5如何编译安装ffmpeg和openh264、fdk-aac.md
  8. 8
      market/README.md
  9. 2
      market/全中国网民每天消费的短视频内容所需的带宽成本是多少.md
  10. 4
      market/网友们都喜欢看哪些类型的电影.md
  11. 4
      market/网友们都喜欢看哪些类型的短视频.md
  12. 11
      market/视频搬运还有的做吗.md

19
market/1M带宽的服务器视频分辨率、帧率和码率应该怎么选.md

@ -96,8 +96,23 @@ Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 1 @@ -96,8 +96,23 @@ Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 1
* ps - Per second,每秒的缩写
## 16:9推荐分辨率
For the default 16:9 aspect ratio, encode at these resolutions:
* 7680p (8K): 7680x4320
* 2160p (4K): 3840x2160
* 1440p: 2560x1440
* 1080p: 1920x1080
* 720p: 1280x720
* 480p: 854x480
* 360p: 640x360
* 240p: 426x240
## 参考资料
* [Bits and Bytes web.stanford.edu(斯坦福大学)](https://web.stanford.edu/class/cs101/bits-bytes.html)
* [YouTube recommended upload encoding settings](https://support.google.com/youtube/answer/1722171?hl=en#zippy=%2Cframe-rate)
* <a href="https://web.stanford.edu/class/cs101/bits-bytes.html" target="_blank">Bits and Bytes web.stanford.edu(斯坦福大学)</a>
* <a href="https://support.google.com/youtube/answer/1722171?hl=en#zippy=%2Cframe-rate" target="_blank">YouTube recommended upload encoding settings</a>
* <a href="https://support.google.com/youtube/answer/6375112" target="_blank">Video resolution & aspect ratios</a>

73
market/CentOS_7如何创建loop设备读取iso磁盘镜像文件内容.md

@ -0,0 +1,73 @@ @@ -0,0 +1,73 @@
# CentOS 7如何创建loop设备读取iso磁盘镜像文件内容?
## 创建loop device虚拟设备
假设你的iso磁盘镜像文件名为:test.iso
```
losetup -fP test.iso
```
如果没有,可以用下面命令创建一个1G大小的空文件:
```
dd if=/dev/zero of=test.iso bs=1M count=1024
```
查看新创建的虚拟设备:
```
losetup -a
```
## 挂载虚拟设备到指定目录
假设你的系统之前没有loop device,新创建的为/dev/loop0
```
mkdir /mnt/test
mount -o loop /dev/loop0 /mnt/test
```
查看挂载结果:
```
df -Th
```
## 进入iso磁盘
挂载成功后,就可以像普通目录一样进入iso文件内部了:
```
cd /mnt/test
ls -l
```
## 卸载虚拟设备
```
umount /mnt/test
```
## 删除loop device虚拟设备
```
losetup -d /dev/loop0
```
掌握了loop device虚拟设备的创建、挂载、卸载和删除,
就可以在linux中读取网上下载的iso磁盘镜像文件内容了,
如软件光盘、视频DVD文件等。
## 参考
> https://www.thegeekdiary.com/how-to-create-virtual-block-device-loop-device-filesystem-in-linux/

62
market/CentOS_7如何安装Docker_Engine.md

@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
# CentOS 7如何安装Docker Engine?
## 卸载老版本
如果之前有安装过的docker或者docker-engine(新版本名字为:docker-ce),
需要先卸载老版本:
```
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
```
## 配置yum的Docker仓库
```
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
```
## 安装新版Docker Engine
```
yum -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
```
## 启动Docker
启动Docker Engine并把它设置开机自动启动:
```
systemctl start docker
systemctl enable docker
```
## 卸载Docker
如果某天不需要用它了,可以按下面步骤卸载Docker Engine:
```
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
```
如果之前下载和使用过的Docker镜像、容器都不需要了,可以按下面步骤删除:
```
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
```
## 参考
> https://docs.docker.com/engine/install/centos/

115
market/CentOS_7如何用Docker安装开源git仓库管理软件Gogs.md

@ -0,0 +1,115 @@ @@ -0,0 +1,115 @@
# CentOS 7如何用Docker安装开源git仓库管理软件Gogs?
## 安装MySql并配置好账号
先安装mariadb:
```
docker pull mariadb/server
docker run -d --name maria -p 3306:3306 -eMARIADB_ROOT_PASSWORD=mypassword mariadb/server
```
再进入容器maria,创建gogs专用数据库:
```
docker exec -it maria bash
mysql -uroot -pmypassword
mysql> create database gogs default charset=utf8;
mysql> grant all on gogs.* to 'gogs' identified by 'dbpassword';
mysql> flush privileges;
```
## 下载Gogs镜像
```
docker pull gogs/gogs
```
如果你还没安装Docker,请先参考安装:
[CentOS 7如何安装Docker Engine?](./CentOS_7如何安装Docker_Engine.md)
## 创建本地Gogs目录
```
mkdir -p /var/gogs
```
## 创建Gogs容器
```
docker run --name=gogs -p 10022:22 -p 10880:3000 -v /var/gogs:/data gogs/gogs
```
其中端口10022和10880可以自定义,前一个是基于ssh访问,后一个是基于http访问。
## 启动Gogs容器
```
docker start gogs
```
## 配置Nginx以便外网访问
Nginx参考配置:
```
server {
listen 80;
server_name 你的域名;
location / {
proxy_pass http://localhost:10880;
}
}
```
## 创建管理员账号
Gogs的规则是,第一个创建的账号就是管理员,Email不是必须的。
按上面步骤配置好Nginx之后,打开你配置的域名访问Gogs,
然后点击注册按钮并完成管理员账号创建。
第一次访问,会看到一个安装网页,
在安装网页必须填好正确的MySql数据库地址、账号和密码:
```
数据库地址:172.17.0.1:3306
数据库账号:gogs
数据库密码:dbpassword
```
其中数据库ip地址需要用```ifconfig```在服务器查看Docker虚拟网络的本机ip。
以后如果需要审核新的账号,
管理员账号登陆后进入:Admin > Users 就可以审核了。
## 命令行创建账号
除了上述网页的方式管理账号,还可以在服务器里用命令来添加账号:
```
su git
cd /home/git/gogs
./gogs admin create-user --name tmpuser --password tmppassword --admin --email [email protected]
```
上面示例假设你的Gogs是以git账号运行的,并且安装在/home/git/gogs目录,
它将创建一个用户名为**tmpuser**和密码为**tmppassword**的新用户。
以Docker方式运行的话,
上述命令应该在你的Docker容器里完成,进入到容器:
```
docker exec -it gogs bash
```
## 参考
* https://hub.docker.com/r/gogs/gogs
* https://gogs.io/docs
* https://gogs.io/docs/intro/faqs

81
market/CentOS_7如何编译安装Nginx-RTMP直播插件.md

@ -0,0 +1,81 @@ @@ -0,0 +1,81 @@
# CentOS 7里如何编译安装Nginx-RTMP直播插件?
## 安装依赖包
```
yum -y install pcre pcre-devel openssl openssl-devel zlib zlib-devel unzip
```
## 下载最新版nginx源码
```
mkdir downloads/
cd downloads/
wget http://nginx.org/download/nginx-1.9.9.tar.gz
```
## 下载Nginx-RTMP插件源码
```
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip -O rtmp.zip
```
## 解压缩源码
```
unzip rtmp.zip
tar -zxvf nginx-1.9.9.tar.gz
```
## 配置Nginx
```
cd nginx-1.9.9/
./configure --add-module=../nginx-rtmp-module-master/ --with-http_realip_module
```
## 编译安装Nginx
```
make && make install
```
确认安装成功:
```
/usr/local/nginx/sbin/nginx -v
```
## 启动nginx
```
/usr/local/nginx/sbin/nginx
```
如果需要用systemctl来启动nginx,
请修改nginx的服务配置文件:
```
cp /usr/lib/systemd/system/nginx.service /usr/lib/systemd/system/nginx_backup.service
vim /usr/lib/systemd/system/nginx.service
```
保存后reload配置:
```
systemctl daemon-reload
```
再尝试用systemctl启动nginx服务:
```
systemctl stop nginx
systemctl start nginx
```
参考:
> https://www.vultr.com/docs/setup-nginx-rtmp-on-centos-7

64
market/CentOS_7如何配置证书连接ssh及禁用密码登陆.md

@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
# CentOS 7如何如何配置证书连接ssh及禁用密码登陆?
## ssh-keygen生成证书
```
ssh-keygen -t rsa -b 4096
```
连续回车使用默认值即可在~/.ssh/目录下生成两个证书文件:
> id_rsa 私钥
> id_rsa.pub 公钥
## 配置公钥
把公钥文件改名为authorized_keys:
```
cd ~/.ssh/
mv id_rsa.pub authorized_keys
```
## 禁用密码登陆
修改/etc/ssh/sshd_config文件,找到```PasswordAuthentication yes```,
把其中的yes改为no后保存。
```
vim /etc/ssh/sshd_config
```
## 复制私钥到本地
把~/.ssh/id_rsa的内容复制到本地保存,
下面以保存路径~/.ssh/为例。
## 重启sshd服务
在执行这个操作之前,请务必仔细确认修改正确,建议同时保持两个窗口连入服务器,
避免因为修改有误重启sshd服务后退出当前登陆就无法再次连进服务器。
```
systemctl restart sshd
```
## 在新命令行窗口登陆验证
保持修改配置的这个窗口连接状态不要退出,
在新的命令行窗口执行ssh远程登陆命令:
```
ssh -i ~/.ssh/id_rsa root@你的服务器ip
```
## 参考
> https://www.ssh.com/academy/ssh/keygen

105
market/CentOS_8.5如何编译安装ffmpeg和openh264、fdk-aac.md

@ -0,0 +1,105 @@ @@ -0,0 +1,105 @@
# CentOS 8.5如何编译安装ffmpeg和openh264、fdk-aac?
ffmpeg是一个非常棒的视频处理软件,它能在linux、macos和windows下运行。
下面简单记录下在CentOS 8.5系统里如何从源码编译安装ffmpeg以及它所需要的openh264和fdk-aac软件。
## 1. 安装依赖库和fdk-aac
```
dnf install gcc gcc-c++ git nasm
dnf install fdk-aac fdk-aac-devel freetype freetype-devel
```
CentOS 7 里安装fdk-aac参考:
```
wget "http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm"
rpm -Uvh nux-dextop-release-0-5.el7.nux.noarch.rpm
yum -y install fdk-aac fdk-aac-devel freetype freetype-devel
```
## 2. 下载openh264源码
```
git clone "https://github.com/cisco/openh264.git"
```
推荐用git下载安装,在openh264安装的过程中会用到git。
## 3. 配置ffmpeg所需的openh264目录环境变量
```
export PKG_CONFIG_PATH=openh264源码保存路径
```
## 4. 编译并安装openh264
cd 进入openh264所在目录
```
make
make install
```
安装好之后,记得创建软连接:
```
ln -s /usr/local/lib/libopenh264.so.2.3.0 /usr/lib/libopenh264.so.7
```
具体版本号请查看你安装的openh264。
## 5. 下载ffmpeg源码
```
wget "https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2"
tar -jxvf ffmpeg-snapshot.tar.bz2
```
如果tar无法解压,先安装bzip2:
```
dnf install bzip2
```
## 6. 配置ffmpeg
解压源码后进入源码目录执行:
```
./configure --enable-libopenh264 --enable-libfdk-aac --enable-libfreetype --disable-x86asm
```
## 7. 编译并安装ffmpeg
在ffmpeg目录下执行:
```
make
make install
```
## 8. 测试ffmpeg
```
ffmpeg -version
```
## 补充说明
如果你有安装了x264和x264-devel库,
需要先删除它们,否则ffmpeg执行的时候会报错:
> ffmpeg: error while loading shared libraries: libopenh264.so.7: cannot open shared object file: No such file or directory
删除x264和x264-devel库:
```
dnf remove x264 x264-devel
```
如果在CentOS 7.9中编译安装好之后,出现上述错误,需要安装x264和x264-libs库:
```
yum -y install x264 x264-libs
```

8
market/README.md

@ -5,9 +5,17 @@ @@ -5,9 +5,17 @@
## 视频行业市场分析
* [全中国网民每天消费的短视频内容所需的带宽成本是多少?](./全中国网民每天消费的短视频内容所需的带宽成本是多少.md)
* [网友们都喜欢看哪些类型的电影?](./网友们都喜欢看哪些类型的电影.md)
* [网友们都喜欢看哪些类型的短视频?](./网友们都喜欢看哪些类型的短视频.md)
## 视频网站技术相关
* [1M带宽的服务器视频分辨率、帧率和码率应该怎么选?](./1M带宽的服务器视频分辨率、帧率和码率应该怎么选.md)
* [CentOS 7如何配置证书连接ssh及禁用密码登陆?](./CentOS_7如何配置证书连接ssh及禁用密码登陆.md)
* [CentOS 8.5如何编译安装ffmpeg和openh264、fdk-aac?](./CentOS_8.5如何编译安装ffmpeg和openh264、fdk-aac.md)
* [CentOS 7如何编译安装Nginx-RTMP直播插件?](./CentOS_7如何编译安装Nginx-RTMP直播插件.md)
* [CentOS 7如何安装Docker Engine?](./CentOS_7如何安装Docker_Engine.md)
* [CentOS 7如何用Docker安装开源git仓库管理软件Gogs?](./CentOS_7如何用Docker安装开源git仓库管理软件Gogs.md)
* [CentOS 7如何创建loop设备读取iso磁盘镜像文件内容?](./CentOS_7如何创建loop设备读取iso磁盘镜像文件内容.md )
* 运营一个视频网站网络流量+服务器成本估算

2
market/全中国网民每天消费的短视频内容所需的带宽成本是多少.md

@ -110,7 +110,7 @@ @@ -110,7 +110,7 @@
## 名词解释
* 帧率 - Frame Rate,每一秒播放的画面数量
* 码率 - BitRate,每一秒播放的画面的数据大小
* 码率 - BitRate,每一秒播放的画面的数据大小,单位是位(Bits)
* CDN - Content Delivery Network,即内容分发网络
* 活跃用户 - 当天/当月有使用APP/网站的人
* DAU - 日活跃用户数量

4
market/网友们都喜欢看哪些类型的电影.md

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# 网友们都喜欢看哪些类型的电影
待补充

4
market/网友们都喜欢看哪些类型的短视频.md

@ -0,0 +1,4 @@ @@ -0,0 +1,4 @@
# 网友们都喜欢看哪些类型的短视频
待补充

11
market/视频搬运还有的做吗.md

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
# 视频搬运还有的做吗?
## 行业现状
## 遇到的问题
## 机会在哪里
Loading…
Cancel
Save