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
相关推荐
legendary_1639 小时前
Type-C 一拖二快充线:实用、便携的移动充电方式
计算机外设·电脑·音视频
天才测试猿10 小时前
2026全新软件测试面试八股文【含答案+文档】
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
EasyDSS11 小时前
视频推流平台EasyDSS与无人机推流直播技术在农业场景的科学应用
音视频·无人机
Swizard11 小时前
“这行命令跑了一晚,日志全丢了?”—— 5分钟彻底搞懂 Linux I/O 重定向与 tee 大法
shell
TEL1892462247713 小时前
IT6622:HDMI 1.4 发射,带 eARC RX 和嵌入式 MCU
音视频·实时音视频·视频编解码
TEL1892462247714 小时前
IT6620BFN:带音频多路输出的ARC/eARC接收机
音视频·实时音视频·视频编解码
音视频牛哥14 小时前
Android 端构建高性能 RTSP 转 RTMP|轻量级RTSP服务 网关:透传与二次编码深度实践
android·音视频·大牛直播sdk·rtsp转rtmp推送·rtsp转发到rtsp服务器·rtsp转rtmp二次编码推送·rtsp二次编码加水印
妫以明15 小时前
FFmpeg:视频处理界的瑞士军刀
ffmpeg·音视频
奋进的电子工程师16 小时前
新架构下高精度时间戳总线接口卡 TestBase VCI 0620
测试工具·fpga开发·软件工程
娅娅梨16 小时前
音视频-YUV格式
音视频