centos7 ffmpeg 自动合并 视频 音频 shell 懒人系列-10

29 篇文章 0 订阅
29 篇文章 0 订阅

特别注意:本人很懒就搞了些懒人办法

1.建立个文本。shell.sh,复制下面代码保存。
打开终端(建议直接root用戶运行)。

2.sudo chmod +x sheell.sh

3.sudo ./shell.sh 文件名.avi (扩展名可以任意)

4.使用方法:支持wmv和mp4提取音频,自动转换成mp3

5.shell.sh 文件要和视频文件同一目录

6.转换完的文件被保存在finish文件夹中

7.注意事项,两段或几段视频的分辨率,音频的采样率,要一致。不一致会报错。

8.支持多段视频或音频的合并,放在同一个文件夹自动合并。

#!/bin/bash
#i-视频-音频 合并( mp4 mkv ts mp3)
##获取当前目录的函数
axdir=$(cd $(dirname $0); pwd)

touch merge.txt
echo '  '>merge.txt
############################################i################################################
##for循环读取
##$axdir/*  读取文件全名加路径 
for axfile in $axdir/*

do 
##axname文件名带扩展
  axname=$(basename $axfile)
##bxname=文件名不带扩展
  bxname=${axname%.*}
##文件扩展名
  cxname=${axname##*.}

 if [[ "$cxname" == "mp4" ]]||[[ "$cxname" == "mkv" ]]||[[ "$cxname" == "ts" ]]||[[ "$cxname" == "mp3" ]];then

sed -i '$a''file '"$axname" merge.txt

fi 

done
##上面循环结束

##获取当前目录的函数
axdir=$(cd $(dirname $0); pwd)

##for循环读取
##$axdir/*  读取文件全名加路径 
for axfile in $axdir/*

do 
##axname文件名带扩展
  axname=$(basename $axfile)
##bxname=文件名不带扩展
  bxname=${axname%.*}
##文件扩展名
  cxname=${axname##*.}
##-merge(合并)############################################
if [ $cxname == "mkv" ]
then
ffmpeg -f concat -i merge.txt -c copy $axdir/finish/$bxname.mkv
echo '视频合并完成'$2'.mkv'
fi


if [ $cxname == "mp4" ]
then
ffmpeg -f concat -i merge.txt -c copy $axdir/finish/$bxname.mp4
echo '视频合并完成'$2 '.mp4'
fi

if [ $cxname == "ts" ]
then
ffmpeg -f concat -i merge.txt -c copy $axdir/finish/$bxname.ts
echo '视频合并完成'$2 '.ts'
fi

##i-不支持中文歌名-有可能提示出错不过文件可以用
if [ $cxname == "mp3" ]
then
ffmpeg -f concat -i merge.txt -acodec copy $axdir/finish/$bxname.mp3
echo '音频合并完成'$2 '.mp3'
fi
##-merge(合并)############################################
done
##上面循环结束
############################################i################################################
rm -rf merge.txt
exit

相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

新生魔王力量

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值