「2ステップでつくるスライドショー動画」を懲りずに更新
「2ステップでつくるスライドショー動画」を更新しました。Re:「3ステップでつくるスライドショー動…でkiraru2002さんにアドバイスしていただいたのを参考にして、バッチファイルの連番リネーム関係とソート関係を少しだけ変更しています。
まだまだ無駄やおかしな部分がありそうですが、よほどのミスがなければ、更新はこれで最後にするつもりです。
以下、余談です。
このスクリプトは、元々、高橋メソッド風のAviSynthスクリプトを作っていたときに、これを応用すればスライドショー動画作成スクリプトもできるのではないかと思ったのがきっかけで作りました。
じつは高橋メソッド風のAviSynthスクリプトの最新版を出した2日後くらいには原型となるものは出来ていて、実際に動いてもいたのですが、いかんせん重すぎました。10枚程度の画像なら問題はないのですが、100枚くらいになると、VirtualDubが10~30秒ほど応答不能に陥りました(笑)
それから、にーやんの苦悩の日々が始まりました(嘘です)。
結局、試行錯誤しているうちに現在の形に落ち着き、約二ヶ月かかって「2ステップでつくるスライドショー動画」の公開にこぎ着けたわけです。思いつきから作り始めたにしては、けっこう頑張っちゃった方かもしれません。
ほかにスライドショー動画を作ることができるソフトはたくさんあると思うので、私の作ったものを使う必要はありません(ていうかオススメしません)が、ただ個人的には、思いがけずkiraru2002さんにアドバイスをいただいたりして、結果的に色々と勉強になりました。
2ステップでつくるスライドショー動画をまたまた更新しました
3ステップでつくるスライドショー動画、改め、2ステップでつくるスライドショー動画を更新しました。昨日の更新時に盛り込めなかった、名前に「!」を含むファイルに関する問題を修正したつもり。
本当に放置してしまおうと考えていたのですが(笑)、kiraru2002さん直々にアドバイスをいただいたので手直ししてみました。kiraruノートの《切れ端》 - メモメモ.…のRe:「3ステップでつくるスライドショー動…を参考にさせていただきました(パクリとも言う)。
手元で100回くらいテストした感じでは、とりあえず問題なく動いている・・・ように見えます。ただし、結果的にかなりいじることになったので、かえっておかしくなっている可能性もあります。
なお、画像表示順のソートとAVS(AviSynthスクリプトファイル)の出力をひとつのバッチにまとめたため、「3ステップでつくる...」から「2ステップでつくる...」に変更になりました。ソート方法の選択は、あらかじめバッチファイル内で設定しておくことも可能ですし、バッチ実行時に選択することも可能です。
詳しくは、付属の説明書を参照。
何だかんだでお盆の半日以上を費やしてしまいましたが、結果としていろいろと勉強にもなりました。アドバイスをいただいたkiraru2002さんには、本当に感謝しています。
でも今日やる予定だったことが、何もできなかった・・・orz
「3ステップでつくるスライドショー動画」をバッチファイルのみ再度更新
3ステップでつくるスライドショー動画を更新しました。今回もバッチスクリプトのみの更新です。
きっかけは、やはりkiraru2002さんのブログの《コマンドライン活用術 No.4》遅延環境…というエントリです。
3ステップでつくるスライドショー動画では、ファイル名を連番リネームするために、「3 スライドショー画像とAVSの出力.bat」の中で「遅延環境変数」というものを使用しています。ところが「遅延環境変数」を有効にすると、ファィル名に「!」または「%」という記号が使えなくなるようです。
実際に試してみたところ、例えば「foo!.jpg」というファイル名は、「foo.jpg」として渡されてしまいます。そのため、ImageReaderフィルタで画像ファイルを読み込む段階でエラーが発生し、そのエラー画面がそのままスライドショー用の画像として出力されてしまいました。
何とか対処できないものかと「3 スライドショー画像とAVSの出力.bat」を見ていると、別のミスを発見・・・。
if !line!==1000000 goto end
このような行が2箇所ありました。設定していないlineという変数が登場しているうえ、処理の途中なのに「goto end」で処理が終わってしまいます。これが問題となるのは、1000000枚以上の画像ファイルが指定された場合です。
今回の更新では、上記の部分を修正したほか、タイプミスの修正と不要と思われる部分の簡略化を行いました。
で、肝心の「!」「%」の問題なのですが、あまりいい方法が見つからなかったので、現時点での修正はあきらめました。kiraru2002さんは、遅延環境変数を使わないようにスクリプトを変更されましたが、私のレベルでは無理でした。
もし「!」「%」を名前に含むファイルを使いたい場合は、あらかじめリネームするなどしてください(投げやり)。
3ステップでつくるスライドショー動画を更新しました(バッチスクリプトのみ)
3ステップでつくるスライドショー動画を更新しました。画像ファイル登録用のバッチスクリプトのみの更新です。
前のエントリで紹介したkiraru2002さんのブログのコマンド(バッチ)スクリプト解説編 (1)を読んでいたら、次の一文を発見。
%1-%9までで足りない場合はshiftコマンドを使います。
shiftコマンド、そんなものがあったのか・・・orz
3ステップでつくるスライドショー動画では、ファイル単位で画像をリストに登録したい場合は、「1 ファイルをリストに追加.bat」というバッチファイルを使います。
しかし、バッチパラメタの上限を超える数のファイルを登録する方法がわからなかったために、一度に登録できる画像の数を8個に制限していました。
いつも参考にさせてもらってるコマンドプロンプトを使ってみよう!さんを見直したところ、(当たり前ですが)ちゃんとコマンドプロンプトを使ってみよう! -バッチファイル-にshiftコマンドのことも載っていました。
今回の更新では、shiftコマンドを使うことによって、「1 ファイルをリストに追加.bat」で一度に登録できる画像の上限をなくしました。
・・・とまあ、こんな程度の知識しかありませんが、次回のエントリあたりからバッチ関連のネタを扱っていく予定です。大丈夫だろうか(笑)
2ステップでつくるスライドショー動画
スライドショー動画を作成するためのスクリプトを作ってみました。
- 画像リストの作成
- スライドショー画像とAVSの出力
この2つの行程において、それぞれバッチファイルを実行するだけで、AVS(AviSynthスクリプト)形式のスライドショー動画を作成することができます。
設定がちょっと面倒かもしれませんが、慣れれば、けっこう簡単だと思います。
AVSを出力しますので、AVIやMPEG-2などの動画形式に変換したい場合は、AVSに対応しているエンコーダーを使って変換してください。
詳しい手順や必要なものについては、付属の説明書に書いてありますので、そちらを参考にしてください。
スクリプトのダウンロード (2006-10-22更新)
サンプル動画の画像は、創天さんの素材を使用させていただいています。
注意
環境によっては(とくにWindows 98/Meで)、動作しない可能性があります。
付属の説明書の注意書きを参照。
2005-08-08 追記
バッチファイルのみ更新しました。詳しくは、にーやんのブログ :: 3ステップでつくるスライドショー動画を更新しました(バッチスクリプトのみ)を参照。
2005-08-14 追記
バッチファイルのみ更新しました(ファイルの更新日は2005-08-13です)。詳しくは、にーやんのブログ :: 「3ステップでつくるスライドショー動画」をバッチファイルのみ再度更新を参照。
2005-08-14 追記2
バッチファイルのみ更新しました。詳しくはにーやんのブログ :: 2ステップでつくるスライドショー動画をまたまた更新しましたを参照。
画像表示順のソートを「スライドショー画像とAVSの出力」の中に統合したため、2ステップでスライドショー動画を作成できるようになりました。
2006-10-22 追記
「1 ファイルをリストに追加.bat」において、画像ファイルのパスに半角スペースが含まれる場合に、画像リストに登録できない問題を修正しました。



