kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

Ubuntu 开启 Apache2 HTTP2支持

Ubuntu 16.04的默认Apache 包中不包含http2,解决方法有2种。

使用PPA源

自行编译mod_http2

方法一,使用ppa源

1
2
3
4
5
sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get install apache2
sudo a2enmod http2
sudo systemctl restart apache2

方法二,自行编译mod_http2

配置Apache

创建配置文件

1
2
3
cat > /etc/apache2/mods-available/http2.load <<EOF
LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so
EOF

将mpm模式由prefork改为mpm event模式

注意: HTTP/2在httpd附带的所有多处理模块中都受到支持。但是,如果您使用prefork mpm,将会有严格的限制。在prefork mod_http2中,每次连接只处理一个请求。但是客户端,比如浏览器,会同时发送很多请求。如果其中一个需要很长时间来处理(或者是长轮询),其他请求将会停止。默认情况下,mod_http2不能在这个限制下工作。原因是,如果您运行的处理引擎不是为多线程准备的,那么现在只选择prefork,例如,它将在多个请求中崩溃。

如果您的设置能够处理它,那么现在配置 event mpm是最好的(如果您的平台支持的话)。

PHP默认安装不能工作在Apache MPM Event模式,请参见PHP配置节解决该问题

1
2
a2dismod mpm_prefork
a2enmod mpm_event

配置网站,在需要启用http2的VirtualHost中增加以下内容。建议在ServerName之后

    HTTPS 网站
1
    Protocols h2 http/1.1
    HTTP 网站
1
    Protocols h2c http/1.1

重启apache,注意如需要配置PHP,这里可以先不重启Apache

1
systemctl restart apache2

配置PHP

请根据使用的PHP版本修改命令。

安装PHP-FPM

1
apt install php7.0-fpm

修改Apache 配置

1
2
3
a2enmod proxy_fcgi setenvif
a2dismod php7.0
a2enconf php7.0-fpm

重启Apache

1
systemctl restart apache2

ffmpeg 缩小视频、合并视频

https://blog.csdn.net/weixin_45049908/article/details/103962451

使用ffmpeg修改和压缩视频文件格式

更改视频文件格式

1
/root/ffmpeg-5.0/ffmpeg -y -i test.mp4 out.mp4

压缩视频文件

1
2
3
4
5
6
7
8
9
10
11
12
13
/root/ffmpeg-5.0/ffmpeg -y -i test.avi -s 400x240 -vcodec libx264 -preset fast -b 80000 -r 25 out.mp4

-y: 当已存在out.mp4是,不提示是否覆盖。
-i : test.avi 输入文件名,可以自己修改路径和名字
-s: 400x240 输出的分辨率,注意片源一定要是16:9的不然会变形
-vcodec -libx264: 输出文件使用的编解码器。
-preset fast: 使用libx264做为编解码器时,需要带上这个参数。
-b: 80000 视频数据流量,用-b xxx表示使用固定码率,数字可更改;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高(一般用80000就可以了,否则文件会很大)
-acodec: aac 音频编码用AAC
-ac 2 声道数1或2
-ar: 48000 声音的采样频率
-ab: 128 音频数据流量,一般选择32、64、96、128#-vol 200 200%的音量,可更改(如果源文件声音很小,可以提升10到20倍1000%~2000%)
-r: 25 帧数

下载m3u8文件

1
/root/ffmpeg-5.0/ffmpeg -i "http://a.com/b.m3u8" out.mp4

合并 mp4

1
2
3
4
5
6
7
8
9
10
cat ff1
file k4_1.1.1_大数据案例.mp4
file k4_1.1.2_大数据.mp4
file k4_1.1.3_数与数据.mp4
file k4_1.2_数据科学.mp4
file k4_1.3_“思维”辨析.mp4


cat ff.sh
/root/ffmpeg-5.0/ffmpeg -f concat -safe 0 -i ff1 -c copy k4_f1.mp4

mp4 转 ts, 合并 ts 为 mp4

1
2
3
/root/ffmpeg-5.0/ffmpeg -i 9.2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 9.2.ts

/root/ffmpeg-5.0/ffmpeg -i "concat:1.1.ts|1.2.ts|2.1.ts|2.2.ts|2.3.ts|2.4.ts|3.1.ts|3.2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc oo1.mp4

截取视频

1
2
3
/root/ffmpeg-5.0/ffmpeg -i p0.mp4 -c copy -t 1800 -copyts p1.mp4

/root/ffmpeg-5.0/ffmpeg -i p0.mp4 -c copy -ss 00:20:00 -to 00:30:00 -copyts p2.mp4

命令调整图片大小、格式等

https://www.cnblogs.com/lyl0618/p/13904216.html

convert

减少图片的存储大小

1
convert image.jpg -resize 50% image_new.jpg

mogrify

修改图片的大小

1
mogrify -resize 800X600 file.jpg

file.jpg 将被调整到 800*600 的大小。注意,如果原始图片的大小是 1200*900 ,那么图片不能被调整到 800*1200 ,而只能调整到800*550

转换图片格式

1
mogrify -format png test.jpg

将test.jpg转换到test.png

减少图片的存储大小

1
mogrify -quality 80% surendra.jpg 

这是通过降低图片质量达到降低存储大小的效果。

identify

获取图片信息

1
2
3
identify test.jpg

identify -verbose test.jpg