デスクトップレコーディングスクリプト
2024年2月16日(金)日経平均株価が、1989年12月29日の時間中につけた史上最高値(38,957円)を超えそうな気配だったので、歴史的瞬間を記録しておこうと日経平均株価のチャートをリアルタイム録画することにした。
ツールはいつものffmpegで、スクリプトはWindows標準装備のVBScriptを使う。特に高度な処理はなく、自分のPCの環境に合わせて以下を調整した。
■ffmpegのオプション
-video_size 2400x1800 取得する画面サイス:デスクトップ画面左上からの横縦ピクセル数
-framerate 5 フレームレート:株価はそんなに激しく変わらないので、1秒間に5枚あれば十分
-s 1200x900 出力ファイルの画面サイズ:とりあえず取得する画面の半分のサイズとした
■動作環境
PC:Windows10 celeron NotePC ディスプレイ2736✕1824ピクセル
株価チャート:firefoxで松井証券のユーザーWebサイトのチャートを表示
これで、問題なく動作しました。録画したサンプルはこちら ※録画後に一部加工したものです
以下のサイトなどを参考にさせていただいた。
https://qiita.com/iroirous/items/4cd9d4bd9f071c25f635
'
' デスクトップレコーディングスクリプト 2024.2.18 中九州製作所
' desktop-rec.vbs
Option Explicit
'定数宣言:ウィンドウを通常サイズで起動
Const vbNormalFocus = 1
'変数宣言
Dim rectime
Dim objWShell
Dim strffmp
Dim strofile
'シェルオブジェクト生成
Set objWShell = CreateObject("WScript.Shell")
'録画時間取得:デフォルト240秒
rectime = InputBox("録画秒数を入力してください","録画秒数取得",240)
'録画ファイル名設定 例:Nikkei-avg20240218-160300.mp4
strofile = "Nikkei-avg"&Replace(Replace(Date(), "/", ""), " ", "")&"-"&Replace(Replace(Time(), ":", ""), " ", "")&".mp4"
'ffmpeg録画コマンド編集
strffmpg = "ffmpeg.exe -y -t "&rectime&" -an -video_size 2400x1800 -framerate 5 -f gdigrab -i desktop -vcodec libx264 -pix_fmt yuv420p -s 1200x900 "&strofile
'実行する録画コマンドを確認用に念のため表示
Msgbox strffmpg
'録画コマンド実行:最後の引数TRUEにするとffmpegのプロセスが終了した後に次のスクリプト処理Msgboxを起動
objWShell.Run strffmpg, vbNormalFocus, TRUE
'録画完了メッセージ:本当は経過時間を刻々と表示させたい→ブラウザで実現出来るが、そこまでしなくてもffmpegのコマンドプロンプトを表示しとけば良いので、時間があれば作る
MsgBox "Done! "&Now()
'シェルオブジェクト後始末、スクリプト強制終了
Set objWShell = Nothing
WScript.Quit
コメント
コメントを投稿