gpt4 book ai didi

bash - 循环动画时将 PNG 序列转换为 MP4

转载 作者:行者123 更新时间:2023-12-04 23:06:12 29 4
gpt4 key购买 nike

因此,我正在尝试将 PNG 序列转换为 MP4 并将动画循环大约 100 次,唯一的问题是我的脚本似乎无法正常工作。

该脚本应该做的是获取frames目录中PNG文件的数量,并将它们发送给FFMPEG 100次。唯一的问题是我的脚本不能正常工作。这是代码。

#!/bin/bash

loopcode()
{
tmpdir=frames
picext=png
one=$(ls -l ${tmpdir}/*.png | wc -l)
two=$(echo "${one}+0" | bc -l)
three=0
while [ ! ${loopi} -eq ${looper} ]; do
while [ ! ${three} -eq ${two} ]; do
three=$(printf "%09d" ${two})
echo ${tmpdir}/${three}.${picext}
two=$(echo "${two}+1" | bc -l)
done
two=0
loopi=$(echo "${loopi}+1" | bc -l)
done
}

looper=100
loopi=0
outfile=output.mp4
fps=5
convert frames/*.png frames/%09d.jpeg
loopcode && sleep 5
cat $(loopcode) | ffmpeg -framerate 1/5 -i - -c:v libx264 -r 30 -pix_fmt yuv420p "${outfile}"

最佳答案

您可以跳过脚本中的整个循环部分并使用 ffmpeg 来完成,即

ffmpeg -r 1/5 -f lavfi -i "movie='a%d.png':loop=100" -c:v libx264 -r 30 -pix_fmt yuv420p "${outfile}"

这要求 PNG 图像名称形成一个连续的序列。

关于bash - 循环动画时将 PNG 序列转换为 MP4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36705634/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com