sh脚本工具集锦(文件批量操作、音视频相关)持续更新

1 文件夹目录下所有图片转换成视频文件

pic_2_videos.sh:

powershell 复制代码
#!/bin/bash
# 放到图片文件夹目录下,把所有jpeg图片推成视频文件
# sh pic_2_videos.sh 0
# 0: pad to 1920*1080 ; 1 or other no pad
pad_1920=$1

if [[ $pad_1920 = 0 ]]
then
    files=`ls|grep jpeg`
    for file in $files;do
      # 取图片文件名称
      file_name=${file%.*}
      echo $file_name" processing..."
      # scale把原图修改下分辨率,缺少的地方不剪切不拉伸而是加黑边,再把所有处理后的图片二次处理成视频
      ffmpeg -r 25 -loop 1 -i $file_name.jpeg -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" -pix_fmt yuv420p -vcodec libx264 -b:v 600k -r:v 25 -preset medium -crf 30 -s 1920x1080 -vframes 250 -r 25 -t 10 $file_name.mp4
    done
else
    files=`ls|grep jpeg`
    for file in $files;do
      file_name=${file%.*}
      echo $file_name" processing..."
      # 不 pad
      ffmpeg -r 25 -loop 1 -i $file_name.jpeg -pix_fmt yuv420p -vcodec libx264 -b:v 600k -r:v 25 -preset medium -crf 30 -s 1920x1080 -vframes 250 -r 25 -t 10 $file_name.mp4
    done
fi

2 文件夹目录下所有文件按照序列顺序重新命名

rename.sh

powershell 复制代码
#!/bin/bash
# 放到文件目录下,执行 rename.sh prefix_ mp4 所有mp4文件会自动重新命名为 prefix_1.mp4、prefix_2.mp4、prefix_3.mp4....
i=1
prefix=$1
type=$2
file_list=`ls |grep $type`
for file in $file_list;
do
  new_str=$prefix"_"$i".$type"
  echo $new_str
  mv $file $new_str
  (( i++ ))
  sleep 0.2
done

3 h265视频文件不能播放、音频编码异常导致不能播放

查了下音频编码格式不兼容,ffprobe 查看视频音频编码确实是pcm_alaw

重新编码成h264

toh264.sh:

powershell 复制代码
#!/bin/bash
# 脚本复制到文件目录下,执行sh toh264.sh即可。sh toh264.sh aa:会跳过名称包含aa的视频文件
exclude_filter=$1
if [[ -z $filter ]]
then
    files=`ls|grep mp4`
else
    files=`ls|grep mp4 |grep -v $exclude_filter`
fi

for file in $files;do
	echo $file
	ffmpeg -i $file -map 0 -c:a copy -c:s copy -c:v libx264 new_$file
	rm -rf $file
done
相关推荐
秃了也弱了。16 小时前
WireShark:非常好用的网络抓包工具
网络·测试工具·wireshark
敲上瘾18 小时前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
早睡身体好~18 小时前
【lubancat】鲁班猫4实现开机后自动播放视频
音视频·linux开发
小幽余生不加糖18 小时前
电路方案分析(二十二)适用于音频应用的25-50W反激电源方案
人工智能·笔记·学习·音视频
胡耀超19 小时前
DataOceanAI Dolphin(ffmpeg音频转化教程) 多语言(中国方言)语音识别系统部署与应用指南
python·深度学习·ffmpeg·音视频·语音识别·多模态·asr
天才测试猿1 天前
常见的Jmeter压测问题
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·压力测试
shix .1 天前
bilibili视频总结
音视频
lovep11 天前
音频-文本对比学习:LARGE-SCALE CONTRASTIVE LANGUAGE-AUDIO PRETRAINING论文翻译和理解
音视频·glap·音频理解·音频对比学习·laion-audio·音频检索
codelancera2 天前
ffmpeg-调整视频分辨率
ffmpeg·音视频
测试开发Kevin2 天前
详解grafana k6 中stage的核心概念与作用
测试工具·压力测试·grafana