Linux骚操作(一): git、 linux、ffmpeg

git骚操作

如何合并第1个和第3个commit?
1.进入编辑模式
git rebase -i xxxxx^ 
将第3个commit移动第1个和第2个中间,使第1个commit成为该commit的previous
将pick改成s,进行squarsh操作,wq保存,提示删除commit,
删除原本的第3个commit即可
2. 进入某一条commit
git rebase -i abcdef^
3. 放弃rebase,恢复到未rebase的状态
git rebase --abort
4. rebase之后,如果修改了东西,进行continue,而非abort(常用于丽影主干在中间的commit添加submodule时)
git rebase --continue

linux骚操作

1. 将当前目录下所有log文件中,所有Performance和SourceInfo后面8行提取出来
cd /xxxx/xxxx/output
grep "Performance\|SourceInfo" -A 8 *.log
类似的:
grep "facedetct launch\|segments is set" lyserver.log
2. 将所有log文件中包含“[Liying]”的行中,“(”后面2个字符取出,再将“x”后面一个字符取出
grep "\[Liying\]" *.log | cut -f 2 -d "(" | cut -f 1 -d"x"

3. git打包骚工具
git-archive-all.
cp git-archive-all /usr/local/bin
git-archive-all linux.zip

4. 批量给mp4文件名字添加分辨率及分钟数
for i in *.mp4; 
do 
width=$(ffprobe -v error -select_streams v:0 -show_entries stream=nb_frames,width,height,duration,bit_rate -of json "$i"> tmp 2>&1 | grep "width"|cut -f 2 -d ":"|cut -f 1 -d","|cut -f 2 -d " ")
height=$(ffprobe -v error -select_streams v:0 -show_entries stream=nb_frames,width,height,duration,bit_rate -of json "$i"> tmp 2>&1 | grep "height"|cut -f 2 -d ":"|cut -f 1 -d","|cut -f 2 -d " ")
hour=$(ffmpeg -i "$i" > tmp 2>& 1 | grep "Duration:"|cut -f 2 -d ":"|cut -f 1 -d " ");
min=$(ffmpeg -i "$i" > tmp 2>& 1 | grep "Duration:"|cut -f 3 -d ":");
#output=${width}x${height}_${hour}"h"${min}min_$i
seg_time="10s";
crf="libx264_crf_23";
ffmpeg -i "$i" -ss 0 -t "$seg_time" -vf "scale=w=iw/2:h=ih/2:flags=lanczos" -c:v libx264 -crf 23 ../cdn_high_res_10s_source/$[width/2]x$[height/2]_${seg_time}_${crf}_$i;
rm tmp;
done

5. 进入shell脚本当前目录
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
$SHELL_FOLDER/

6. grep, cut的使用
grep " avgqp:" xxxxxx.log | cut -f4 -d":" | cut -f1 -d" " > /tmp/tmp.txt
grep "SourceInfo\|avgqp" -A 7 xxxxxxx.log > /tmp/tmp.txt

7. Mac避免tar打包带下划线的办法
COPYFILE_DISABLE=1 tar cvf xxxx.tar xxxxx/

8. 批量重命名
for i in *jpg; do cp -- $i "tmp/xxxxx"`ls -- $i|grep jpg|cut -f 5- -d "_"`;done

ffmpeg使用技巧

1.视频片段截取
ffmpeg -ss 00:01:42 -t 00:00:12 -i 06_dance_korea_640x360_4min_LR.mp4 -c:v libx264 \
-x264-params nal-sei=0 -preset slower -intra -crf 12 -an 06_dance_korea_640x360_12s_LR.mp4
2.画面裁剪
ffmpeg -i 1080x1920_1h30min_xxxx.mp4 -vf crop=960:540:0:0 1080x1920_1h30min_xxxx_left_up.mp4
3.高品质缩放
ffmpeg -i /xxxx/xxxx.mp4 -vf "scale=w=540:h=960:flags=lanczos" -c:v libx264 -crf 20 ./tmp.mp4
4.视频拼接side by side 比对
ffmpeg -i src1.mp4 -i src2.mp4 -filter_complex "[0:v][1:v]hstack=inputs=2[v]" -map "[v]" complex.mp4
5. 视频单帧水印
ffmpeg -i src.mp4 -vf "drawtext=fontfile=simhei.ttf: text='原视频':x=50:y=100:fontsize=36:fontcolor=yellow:shadowy=2" out.mp4
6. 视频加帧序号
ffmpeg -i source.mp4 -vf 'drawtext=fontfile=/Library/Fonts/Arial.ttf:text=%{frame_num}:x=w/20:y=h/20:fontsize=24' out.mp4
7. 主观无损
 -c:v libx264 -crf 18
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值