batch_video_cover.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. paths=$(cat paths.txt)
  3. picName=''
  4. videoInput=''
  5. takeVideoCap() {
  6. ffmpeg -hide_banner -loglevel error -y -i $videoInput -r 1 -ss 00:00:01 -vframes 1 -vf "transpose=1,scale=iw/4:ih/4,setsar=1:1" -f image2 "$filePath/${picName}.jpg"
  7. }
  8. # fileurl=$1
  9. # directory=$2
  10. # /opt/ossutil/ossutil64 cp oss://4dkankan/$fileurl \-rf $directory
  11. for path in $paths; do
  12. # pathParam=($path)
  13. IFS=", " read -a pathParam <<<$path
  14. filePath=${pathParam[0]}
  15. code=${pathParam[1]}
  16. if [ -d $filePath ]; then
  17. videoList=("$filePath/*.mp4")
  18. if [ ${#videoList[@]} -gt 0 ]; then
  19. for video in $videoList; do
  20. echo "存在视频: ${video}"
  21. filename=$(basename -- "$video")
  22. filename="${filename%.*}"
  23. export picName=$filename
  24. export videoInput=$video
  25. echo -e "\033[43;34m cap sucess : $filePath/${picName}.jpg \033[0m"
  26. takeVideoCap
  27. echo -e "upload: video/video${code}"
  28. /opt/ossutil/ossutil64 cp -f $filePath/${picName}.jpg oss://4dkankan/video/video${code}/
  29. # https://4dkk2.4dage.com/video/videot-tXj1F7V/8.mp4?imagesVersion=5
  30. done
  31. fi
  32. else
  33. echo -e "\033[0;33m 文件夹不存在: ${filePath} \033[m"
  34. fi
  35. done