gpt4 book ai didi

ffmpeg - avconv:将随机命名的图像序列转换为视频

转载 作者:行者123 更新时间:2023-12-04 22:50:52 25 4
gpt4 key购买 nike

我有名为 alice.png 的文件, bob.png , charlie.png (有数百个)我想从中制作视频。我尝试的是

 avconv -i alice.png -i bob.png -i charlie.png -r 25 -b:v 12M -y out.mp4

但我只得到了电影中的第一张图像,其余的被忽略了。

有很多教程如何使用 -i %03d.png和类似的通配符,但是有没有办法不用它们,在命令行上传递这些文件? mencoder有选项 mf://alice.png,bob.png,charlie.png所以我正在寻找类似的东西。

将文件名写入外部文件也可以。

最佳答案

为此,您需要先生成硬链接(hard link),然后再将其删除。如果没有这种方法,就无法做你想做的事。

请执行下列操作:

  • 创建一个临时目录。
  • 运行ln -t DIR file1 file2 file3 ...
  • 切换到该目录并运行 sequential-rename脚本(见下文)
  • 改回它,并使用正常的 %00d 技巧来转换这些链接。
  • 删除临时目录。

  • 顺序重命名
    #!/bin/sh
    # Sequential rename - rename screen shot images sequentially
    #http://www.askdavetaylor.com/sequentially_rename_files_linux_mac_script.html

    SAVEIFS=$IFS
    IFS=$(echo -en "\n\b")

    if [ $# -ne 1 ] ; then
    echo "Usage: $(basename $0) replacement-pattern-"
    exit 1
    fi

    pattern="$1"
    count="1"

    for filename in $(ls * | sort)
    do
    if [ $count -eq 1000 ]; then
    eval "rename \"s/^$pattern(\\\\d\\\\d\\\\d)\\\\.jpeg/${pattern}0\\\\1.jpeg/g\" $pattern???.jpeg"
    fi
    if [ $count -eq 100 ]; then
    eval "rename \"s/^$pattern(\\\\d\\\\d)\\\\.jpeg/${pattern}0\\\\1.jpeg/g\" $pattern??.jpeg"
    fi
    if [ $count -eq 10 ]; then
    eval "rename \"s/^$pattern(\\\\d)\\\\.jpeg/${pattern}0\\\\1.jpeg/g\" $pattern?.jpeg"
    fi
    newname="${pattern}${count}.jpeg"
    echo "renaming \"$filename\" to $newname"
    mv "$filename" "$newname"
    count=$(( $count + 1 ))
    done

    IFS=$SAVEIFS

    exit 0

    关于ffmpeg - avconv:将随机命名的图像序列转换为视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28188385/

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