首先,确保已经安装了ffmpeg工具
sudo apt-get update
sudo apt-get install ffmpeg
执行:
ffmpeg -y -pattern_type glob -i 'input/*.jpg' -r 30 -s 1280x720 -c:v libx264 -pix_fmt yuv420p output/output.mp4
-y
表示覆盖输出文件,如果该文件已经存在;-pattern_type glob
表示使用glob模式读取文件,这样可以顺序读取input中所有后缀为.jpg的图片文件;-i 'input/*.jpg'
指定输入文件的格式和路径;-r 30
表示设置输出视频的帧率为每秒30帧;-s 1280x720
表示设置输出视频的分辨率为1280x720;-c:v libx264
表示使用 H.264 视频编码器进行编码;-pix_fmt yuv420p
表示使用 yuv420p 彩色空间格式;output/output.mp4
表示写出到的文件名。
这个命令执行成功之后,就会在output
文件夹下生成一个名为output.mp4
的视频文件。
以下是如何在Python中使用os库执行上述命令:
import os
input_folder = "input"
output_folder = "output"
output_filename = "output.mp4"
output_resolution = "1280x720"
framerate = 30
# 构造 FFmpeg 命令
ffmpeg_cmd = (
f"ffmpeg -y -pattern_type glob -i '{input_folder}/*.jpg' "
f"-r {framerate} -s {output_resolution} "
f"-c:v libx264 -pix_fmt yuv420p "
f"{output_folder}/{output_filename}"
)
# 执行命令
os.system(ffmpeg_cmd)
这里,我们将构造FFmpeg命令和执行命令分别放到了两个步骤中,以便于您更好地理解如何使用os库执行外部命令。在实际应用中,您可以将这两个步骤合并成一段代码。
另外,再给大家一段按文件夹排序批量命名图片的python代码:
import os.path
def rename(img_folder, num):
img_list = os.listdir(img_folder)
img_list.sort()
for img_name in img_list: # os.listdir(): 列出路径下所有的文件
# os.path.join() 拼接文件路径
src = os.path.join(img_folder, img_name) # src:要修改的目录名
dst = os.path.join(img_folder, str(num) + '.jpg') # dst: 修改后的目录名 注意此处str(num)将num转化为字符串,继而拼接
num = num + 1
os.rename(src, dst) # 用dst替代src
def main():
img_folder0 = '/home/pi/Desktop/4/' # 图片的文件夹路径 直接放你的文件夹路径即可
num = 1
rename(img_folder0, num)
if __name__ == "__main__":
main()
PS:引用请注明出处,谢谢~