mieki256's diary



2018/05/25(金) [n年前の日記]

#1 [cg_tools] 連番画像ビューアについて

Windows10 x64 上で無料で使えそうな、連番画像ビューアについて少し探してみたり。この場合の連番画像と言うのは、動画にする前の、各フレーム画像のこと。

自分の環境では、あふという2画面ファイラーを使っているので、コマンドライン指定で画像を開けると助かるのだけど…。日本製のソフトが存在しないせいか、なかなか厳しいところがあって。

DJV :

_DJV Imaging - Home

Windows、Linux、Macで使える連番画像ビューア。

基本的には、File -> Open で連番画像を開くけど、以下の指定でも起動できた。
djv_view.exe 連番画像の最初のファイル

ただ、手元の環境で試したところ、日本語文字列が含まれたパスを開くことができなかった。

mrViewer :

_mrViewer - Home

Windows、Linuxで使えるビューア。EXR等のHDRI画像を開くことを目的としているらしいけど、連番画像を開くこともできる。

メニューが無くてちょっと面食らうけど…。画面内の右クリックメニューから設定変更等ができる。

アプリを起動して、ウインドウ上に連番画像が入ったフォルダをドラッグアンドドロップして開くこともできるけど、以下の指定でも起動できた。
mrViewer.exe "C:\hoge\fuga\pi yo\@@@@@@.jpg" 0-49
「@」で埋めたところに連番が入る。上記の例では、000000.jpg から 000049.jpg までを読み込んで表示する。

日本語文字列を含んだパスの扱いは以下のような感じ。
  • 右クリック -> File -> Open なら開ける。
  • コマンドラインから渡すと開けない。

SqCheck :

_SqCheck - An image sequence viewer

FLTKで実装されてるビューアだろうか。以下の指定で起動できた。
sqcheck.exe "C:hoge\fuga\pi yo\######.jpg" 0-40
「#」で埋めたところに連番が入る模様。上記の例では、000000.jpg から 000040.jpg まで読み込んで表示する。

日本語文字列を含んだパスの扱いはなんだかちょっと妙な感じで。
  • コマンドラインから日本語文字列を含んだパスを渡すと開くことができる。
  • メニューから開こうとするとダメ。開けない。

FISP :

_FISP - Free Image Sequence Player
_CGTalk - [Application]FREE Image Sequence Player

ウインドウ上に、連番画像の最初のファイルをドラッグアンドドロップして開くことができた。コマンドラインで起動する方法は分からなかった。

Dufrap :

_Dupl - Rainbox

Dufrap Frame Player、という名称でいいのだろうか…。

ループ再生する際、最後のフレームを表示した直後に、一瞬画像が消えてしまうようで。この仕様では、ちゃんと滑らかなループ再生になってるか、確認する作業が難しい気がする。

JefeCheck :

_JefeCheck - play.process.share

元は有償のソフトだったけど、随分前に無償で提供されるようになったらしい。

ただ、手元の環境 (Windows10 x64) では、随分前にインストールしていたのだけど現時点ではエラーを出して起動すらしなかった。そもそも入手する際、OS選択で「Windows7」を選ぶあたり、開発終了して放置状態なのかもしれない。

それと、ダウンロードする際、メールアドレスの登録を要求されてしまうあたりもちょっと…。

SqCheckを呼び出すRubyスクリプトを書いてみた。 :

SqCheck なら日本語文字列を含んだパスをコマンドラインから渡しても開けるのだけど、パスと数字を指定するのがなんだか面倒臭い。

そこで、最初のファイルのパスだけ渡せば、指定文字列を得て SqCheck を起動するRubyスクリプトを書いてみたり。

_run_sqcheck.rb
# Run SqCheck (Image Sequence Viewer)
# 
# usage : ruby run_sqcheck.rb C:\hoge\fuga\piyo00000.jpg

sqcheck_path = 'C:\Prog\SqCheck\sqcheck.exe'

exit if ARGV.size != 1

filepath = ARGV[0]
dir, fn = File.split(filepath)
exit unless fn =~ /^(.*?)(\d+)\.(jpg|bmp|png|gif)$/i
prefix, count, sufix = $1, $2, $3
numsize = count.size
newbasename = prefix + '#' * numsize + "." + sufix

fnlist = Dir::entries(dir)
nmin = 0
nmax = 0
fnlist.each do |s|
  if s =~ /^#{prefix}(\d+)\.#{sufix}/
    n = $1.to_i
    nmin = n if nmin > n
    nmax = n if nmax < n
  end
end
puts "Dir: #{dir}"
puts "basename: #{fn}"
puts "          #{newbasename}"
puts "number:   #{nmin}-#{nmax}"

lines = "\"#{sqcheck_path}\" \"#{dir}\\#{newbasename}\" #{nmin}-#{nmax}"
# puts lines
exec(lines)
exit

以上です。

過去ログ表示

Prev - 2018/05 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project