📚 我的文章

记一次时间同步引起的故障

ntpdate同步时间,时间跳跃,引起服务中断。

计划任务 #

0 4 * * * /usr/sbin/ntpdate  10.200.3.71

日志 #

Dec 30 04:00:01 localhost systemd: Created slice user-0.slice.
Dec 30 04:00:01 localhost systemd: Starting user-0.slice.
Dec 30 04:00:01 localhost systemd: Started Session 16 of user root.
Dec 30 04:00:01 localhost systemd: Starting Session 16 of user root.
Dec 29 20:09:59 localhost systemd: Time has been changed
Dec 29 20:09:59 localhost systemd: Removed slice user-0.slice.
Dec 29 20:09:59 localhost systemd: Stopping user-0.slice.

故障 #

因为跳跃的时间太大,导致系统的各种服务中断(网络中断和systemctl管理的服务也有问题)。

...

解决rabbitmq依赖问题

错误提示 #

warning: rabbitmq-server-3.6.6-1.el6.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEYerror: Failed dependencies:
    erlang >= R16B-03 is needed by rabbitmq-server-3.6.6-1.el6.noarch
    socat is needed by rabbitmq-server-3.6.6-1.el6.noarch

解决方法 #

cd /etc/yum.repos.d/
cat erlang.repo
[erlang-solutions]
name=Centos $releasever - $basearch - Erlang Solutions
baseurl=http://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=0
gpgkey=http://packages.erlang-solutions.com/debian/erlang_solutions.asc
enabled=1

然后再安装rabbitmq

yum localinstall rabbitmq-server-3.6.6-1.el6.noarch.rpm

其他问题 #

# /etc/init.d/rabbitmq-server start
Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}
rabbitmq-server.
# vim /var/log/rabbitmq/startup_err
init terminating in do_boot (noproc)

Crash dump is being written to: erl_crash.dump...done

如果出现以上问题,说明erlang和rabbitmq的版本不相符。只能重新安装erlang了。

...

Linux bash 提取文件名和目录名

在Linux Bash中分别使用basename、dirname、${},提取文件名和目录名。

通过变量方式 #

${}用于字符串的读取,提取和替换功能,可以使用${} 提取字符串

...

ffmpeg 9:16和16:9互相转换

​今天搜集了一下16:9和9:16相互转换的命令。将多余的部分用模糊背景填充,感觉比直接加黑边好很多。

16:9转9:16 #

命令 #

ffmpeg -i input.mp4 -lavfi "[0:v]scale=256/81*iw:256/81*ih,boxblur=luma_radius=min(h\,w)/40:luma_power=3:chroma_radius=min(cw\,ch)/40:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,setsar=1,crop=w=iw*81/256"  output.mp4

9:16转16:9 #

命令 #

ffmpeg -i input.mp4 -lavfi '[0:v]scale=ih*16/9:-1,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,crop=h=iw*9/16' -vb 800K output.mp4

nginx auth_basic登录验证遇到的坑

htpasswd默认使用crypt()加密,创建的密码只有前8位有效

问题 #

htpasswd -c /etc/nginx/.htpasswd  test

假如,密码为abcd12345

那么在登录的时候,不管是输入“abcd1234”、”abcd12345“或”abcd123456789sdjkal“ 都能通过验证。

...

ffmpeg输出苹果编码格式prores

ffmpeg输出苹果编码格式prores。分辨率1080p,25帧,5个音轨。

ffmpeg -i 06无字幕mp4-使用此视频的画面.mp4 -i 06有字幕-使用此视频的国际音轨.mov -map 0:v -s 1920x1080 -r 25 -c:v prores_ks -profile:v 3 -pix_fmt yuv422p10le -map 1:1 -acodec pcm_s24le -ar 48000 -ac 1 -map 1:2 -acodec pcm_s24le -ar 48000 -ac 1 -map 1:3 -acodec pcm_s24le -ar 48000 -ac 1 -map 1:4 -acodec pcm_s24le -ar 48000 -ac 1 -map 1:5 -acodec pcm_s24le -ar 48000 -ac 1 06-out.mov

ffmbc转码输出DVCPRO HD

使用ffmbc多线程转码输出DVCPRO HD。分辨率为1440x1080,隔行扫描。

#

将一个双声道音轨复制输出成两个单声道音轨

ffmbc -y -threads 8 -i 海外发行测试源文件0726.mp4  -target dvcprohd -tff -an 海外发行测试源文件0726-out.mxf  -acodec pcm_s24le -ar 48000 -ac 1 -newaudio -acodec pcm_s24le -ar 48000  -newaudio -acodec pcm_s24le  -ar 48000

#

将一个双声道音轨复制拆分成两个左右单声道音轨

...

Nginx的connect() to xxx failed (13: Permission denied) 和 Nginx 403 forbidden

解决Nginx的connect() to xxx failed (13: Permission denied) 和 Nginx 403 forbidden 错误

查看SeLinux状态 #

getenforce

如果是enabled则继续往下看。

临时关闭(不需要重启机器) #

setenforce 0

修改配置 #

vim /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled

如果你执行了临时关闭SeLinux并机器上跑了重要的业务,那可以不需要马上重启机器,等待下次重启配置生效即可。

...

XDCAM HD422 MXF

分别使用ffmpeg ffmbc 实现 输出XDCAM HD422 MXF文件

ffmpeg #

ffmpeg -i test.mov -pix_fmt yuv422p -vcodec mpeg2video -non_linear_quant 1 -flags +ildct+ilme -top 1 -dc 10 -intra_vlc 1 -qmax 3 -lmin "1*QP2LAMBDA" -vtag xd5c -rc_max_vbv_use 1 -rc_min_vbv_use 1 -g 12 -b:v 50000k -minrate 50000k -maxrate 50000k -bufsize 8000k -acodec pcm_s16le -ar 48000 -bf 2 -ac 2 -f mxf_d10 output.mxf

ffmbc #

ffmbc  -y -threads 8 -i 先导片.mp4 -target xdcamhd422 -tff -acodec pcm_s24le 先导片-out.mov

mac os pkg解包

jdk1.8.pkg解包

每次安装Java的时候,都是一个pkg安装包,没有像linux下直接一个tar包那样绿色和方便。于是google搜索一下,终于找到解决的方法了。

...