2017-12-22 50 views
0

I持ってfolowing形式で名にタイムスタンプを持つフレームで満たされたフォルダffmpegのとタイムスタンプを使用して、指定されたフレームからビデオを作成する方法

im_%H_%M_%S_%MS.png

im_08_05_09_007324.png 
im_08_05_09_532857.png 
im_08_05_10_059340.png 
im_08_05_10_575862.png 
im_08_05_11_118361.png 
im_08_05_11_596814.png 
im_08_05_12_148340.png 
im_08_05_12_665838.png 

私は窓に-pattern_type globを使用しようとするが、それは動作しません。私は

Pattern type 'glob' was selected but globbing is not supported by this libavformat build im_*.png: Function not implemented 

後、私はこれはWindows上で動作しないこと:(私が使っているものですが見出さ得る。ffmpeg Error: Pattern type 'glob' was selected but globbing is not support ed by this libavformat build

私も

ffmpeg.exe -framerate 10 -pattern_type glob -i im_%02d_%02d_%02d_%06d.png -c:v libx264 -r 30 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -pix_fmt yuv420p $videoName 

を試してみてください

ffmpeg.exe -framerate 10 -pattern_type glob -i im_*.png -c:v libx264 -r 30 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -pix_fmt yuv420p $videoName 

私は持っています

im_%02d_%02d_%02d_%06d.png: No such file or directory 

私はアイデアが不足しています。私はffmpegとpowershellでこれを行う方法がないと信じることを拒否します。 本当に助けていただきありがとうございます!

答えて

0

あなたは順番に

file im_08_05_09_007324.png 
file im_08_05_09_532857.png 
file im_08_05_10_059340.png 
file im_08_05_10_575862.png 
file im_08_05_11_118361.png 

をファイル名のリストを持つテキストファイルを作成し、連結デミュクサー

を経由して、回避策を使用して、

ffmpeg -f concat -r 10 -i list.txt -c:v libx264 ... 

を実行することができます(これは生成されます無効なDTSに関する警告は無視することができます)

+0

ありがとうございます!私の遅い答えに申し訳ありません。私はその日に急いで、フィジーimageJでビデオを制作することに決めました。しかし、今度はたくさんのビデオを作成する必要があるので、スクリプトを作成する必要があることがわかりました。あなたの答えに基づいて、私は私の完全な解決策を書いた。 – CaribeGirl

0

Mulvでのビルドya solution私は提案された形式でfilenameとtxtを作成するpowershellスクリプトを書いた。

  1. コンテンツ

    $inFolder = "C:\my_folder_with_Png_frames\" 
    $inSearch = $inFolder+"*.png" 
    $outFile = $inFolder + "framenames.txt" 
    Get-childitem -path $inSearch -recurse -name | Out-File $outFile -Encoding ASCII 
    

をpngのディレクトリを持つテキストファイルを作成します。デフォルトはUTF-8-BOMffmpegそれを好きではないですので、私は、アウトFileコマンドレットにEncodingを追加しました。

  1. 文字列 "file"をtxtファイルの各行に追加します。

    $prependVar = "file " 
    $lines  = get-content $outFile 
    $newlines = $lines | ForEach-Object{ "$prependVar$_"} 
    $newlines | Out-File $outFile -Encoding ASCII 
    
  2. コールFFMPEG

    cd $inFolder 
    C:/ffmpeg/bin.\ffmpeg.exe -f concat -r 10 -i $outFile -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 
    

手順1.

と2は、フルパス名でtxtファイルを生成しません。名前のみ。このため、フォルダにcdが必要です。

関連する問題