[Windows]LuaRocksを導入しよう

■LuaRocksとは?

lua用のパッケージマネージャー。
luaモジュールの管理を楽にします。端的に言えばnpmのlua版です。

■環境
LuaRocks(2.4.4)
Windows7
◆ダウンロード
まずはここからダウンロード。
Windowsなのでwin32と書かれたファイルを選びました。
◆主要なインストールオプション

いろいろとインストールオプションがあるのですが個人的な抜粋。

/P dir
インストールする場所。デフォルトでは「%PROGRAMFILES%\LuaRocks\version」
/TREE dir
モジュールのインストール場所。デフォルトでは「%PROGRAMFILES%\LuaRocks\systree」
/LV version
使用するluaのバージョン。5.1、5.2、5.3のどれか。デフォルトではシステムパスから自動で検出される
/LUA dir
luaのインストールされている場所。デフォルトではシステムパスから自動で検出される。
/L
バンドルされたluaをインストールする。luaをインストールしてない時に設定すると便利。バージョンは5.1(執筆時)
/F
すでに存在していたらディレクトリを削除する
◆インストール
オプションを踏まえてコマンドを考えて実行します

SET LUA_DEV=C:\mypackage
install.bat /P %LUA_DEV%\LuaRocks\version /TREE %LUA_DEV%\LuaRocks\systree /LUA %LUA_DEV%\lua5.1

◆使ってみる※「~LuaRocks\version」にパスを通しました
・インストールされたモジュールを確認

>luarocks

・”dkjson”をインストール

>luarocks install dkjson

・インストールされたモジュール一覧

>luarocks list

・インストールされたモジュールの情報

>luarocks show dkjson

・”dkjson”をアンインストール

>luarocks remove dkjson

カテゴリー: Lua, Windows | コメントする

【2018】あけましておめでとう【謹賀新年】

今年もよろしくお願いします。

カテゴリー: 雑記 | コメントする

HLS(m3u8+ts)形式の動画をダウンロードする方法

拡張子が『m3u8』の動画があって「?」と思ったのが切っ掛け。
この形式の動画ファイルをローカルに保存したいと思ったので良いツールがないか調べてみました。
色々とある中で一番シンプルで良さげと思った『m3u8x』を紹介します。
ただ、このツール日本語の解説ページがないため、使用方法の流れを一例として書いておきます。

■環境
m3u8x(1.085)
GoogleChrome(63.0.3239.108 (Official Build)(64 ビット)
Windows7
◆1,対象の動画のページからHARをコピー
chromeでコンソールを開く(F12)->[Network]を選択。
左上の赤い丸が点灯していることを確認(ネットワークログを有効にする)
対象のページを開くとロードされたコンテンツが列挙される。
どれか一つを選択状態にして[右クリック]->[Copy]->[Copy all as HAR]をクリック。


◆2,『m3u8x』をインストール
ここからダウンロード出来ます。
ダウンロードした圧縮ファイルを展開して、実行すると下の画面になる


◆3,ファイルの解析と検出
『m3u8x』上で[Get]ボタンを押下。
表示されたダイアログの[From HAR]タブを選択。中段のテキストエリアに右クリックメニューから[Paste HAR]で貼り付ける。
[Simple]ラジオボタンを選択して[Filter]を押下すると、下段のエリアに解析結果が表示される。



結果の中からm3u8ファイルを適当に選択して[Select]を押下すると、元の画面に戻って(URL/Path)が入力された状態になっている。
(画像ではすでにダウンロード開始してしまってますが気にしないで。。)


◆4,動画のダウンロード
最後に[Quality]から任意の画質を一つを選択して、[Download]を押下するとダウンロードが開始される。
ダウンロードが完了すればデフォルトで『Video_Files』フォルダに動画が出力されている。
※設定項目として[Show options]からデフォルトのダウンロード先を変更したりする事が可能。


■結果
再生に必要なコーデックやアプリ等は各自で調べてみて下さい。
(下の画像はVLC media player)


カテゴリー: Web, Windows, 雑記 | コメントする

PYR Image Saver [ver.2.9.3]~ChromeExtension~

バージョンアップしました。
今回は主にバグ修正です。

以前のバージョンからのアップデートの際に問題となっていた処理を変更しました。
このバージョンで問題が起きた場合、オプションから[Defaults]->[Apply]ボタンを押して設定を初期化することを試してみて下さい。
アップデートの際に設定の引継ぎに関して動作に支障をきたす問題
原因となっていたv2.9.1以下からのアップデートとそれ以降のアップデートの処理の切り分け処理を廃止。
設定の値が見つからなければ単純にローカルストレージに保存するように変更しました
フレーム表示されたページに対応
具体的にはHTMLタグ<frame>で構成されたページになります。
ただし、このタグはHTML5で既に廃止となっているので、古いサイトのための暫定的な対応としています。
静的解析オプション有効時の不具合に対応
以前、ご報告頂いた画像サイズの比較に関する不具合を修正。
リソースのロード順序によって、JQueryが有効でないページで正常に動作しなかった問題を修正。

静的解析オプションのバグ詳細
静的解析オプションの不具合は起きるサイトと起きないサイトがあって謎だったのですが、
その後の調査によってmanifestファイルの設定で依存するリソースを指定する際、想定する順序でライブラリが読み込まれていないことが原因でした。
それによって内部では読み込みに失敗したライブラリ(JQuery)が使用されていないページの場合、動作がライブラリに依存する静的解析が利かない…といった感じだったようです。
◆更新履歴
2.9.3 以前のバージョンからアップデートした場合、設定データの移行失敗によって動作に支障をきたすことのある問題の原因コードを削除。
フレーム表示されたサイトに対して暫定的に対応。
静的解析オプション有効時、最大画像サイズ算出方法に問題があったため、適合する画像とは違う画像が保存される問題を修正。
静的解析オプション有効時、特定のリソースをロードしている一部サイトでしか正常に動作しない問題を修正。
2.9.2 拡張子jpegに対応。(jpegオプションに包含)
2.9.1 オプション設定をJSON形式で保存するように変更。
JQuery(v3.1.1)及びJQuery-UI(v1.12.1)に更新。
delayMSパラメータが保存されなかった不具合を修正(v2.9.0)
2.9.0 CSSICONを利用した表示UIに変更。
静的解析の時、タブの処理順に依存した終了チェック処理になっていた問題を修正。
タブとの通信が確立されていない時、エラーメッセージを表示するようにした。
2.2.1 chrome.alarmsAPIに依存した非同期処理をJQuery.Defferedで置き換え。
twitterの画像形式jpg:largeに対応。(jpgオプションに包含し、拡張子の自動置換)。
処理対象とするクエリ(付加文字列)の対応範囲を拡張。
保存に失敗した時にもタブが閉じてしまうことがある問題を修正。
静的解析でカレントタブのみ有効だった仕様を全てのタブを対象とするように変更。
ECMAScript6の対応した構文をサポートしていない過去のバージョンのchromeは非対応・非推奨になった。
2.1.0 ファイル名競合時にファイルを上書きするオプションの追加。
静的解析でタブ内で条件に一致する全ての画像を保存するオプションの追加。
2.0.0 拡張機能名の変更。
EventPagesに仕様を変更。
タブHTMLの静的解析機能を実装。
静的解析に伴うオプションを追加。
自動セミコロン挿入(ECMAScript規約)に依存しないコードに修正。
ダウンロードに失敗した時、対象画像を保持するタブを閉じない構造に修正。
ダウンロード終了後、結果を[notification]表示するようにした。
1.1.2 画像を保存したタブを自動で閉じるオプションの状態が復元されない不具合を修正。
1.1.1 振り分け先フォルダオプションの不具合を修正。
1.1.0 Deprecated APIの置き換えとCSSの微修正。
ダウンロードの間隔(ディレイ)の設定を追加。
Chrome設定フォルダ以下にダウンロードした画像の振り分けフォルダを作成する設定を追加。
オプションページに追加項目に対してToolTipの追加。
途中でPopupを閉じてもバックグラウンドで処理を継続するように仕様を変更。
オプションページ[Configure]ボタンでの設定の有効化をAlertで知らせるようにした。
一度ブラウザを閉じるとオプションページの設定をもう一度有効化する必要があった仕様を不要なように変更。
1.0.0 公開
カテゴリー: Extensions, Javascript, Web | コメントする

PYR Image Saver [ver.2.9.1]におけるアップデートでの不具合について

以前のバージョン(2.1.0)からアップデートすると下記のような問題が発生することを報告頂いています。
タブの画像を保存しない
「画像を保存したタブを自動で閉じる」のオプションにチェックを入れてもタブが自動で閉じない
タブにない他の画像を保存してしまう

もしこのような症状が出ましたら一旦chromeから「PYR Image Saver」を削除し、再インストールを行ってみて下さい。
※念のためオプション画面で[Initialize]を押した後、[Configure]を押して設定を完全に初期化して下さい。
オプションの引き継ぎに関する不具合と推定されるため、新規にインストール頂ければ設定が初期化され上記不具合に関しては解決すると思われます。

カテゴリー: Extensions, Javascript, 雑記 | コメントする

PYR Image Saver [ver.2.9.1]における問題の特定手順

PYR Image Saverが動作しない、あるいは想定通りに動作しない場合、その原因が環境によるものか実装によるものなのか非常に特定し辛いため、テスト手順を作成致しました。
問題点が以下の手順で再現するかお試し下さい。

ブラウザの再起動後、新しいタブだけを開いた状態で開始して下さい。

◆基本的な処理
1,まず、「PYR Image Saver」以外の拡張機能を一時的に無効にして下さい。
これは問題がこの拡張機能によるものと特定するためです。
2,拡張機能「PYR Image Saver」を再インストールして下さい。
ファイルの破損の修正と設定の初期化を行います。
3,次にオプションの「静的解析ON」のチェックを外して下さい([Configure]をクリックして設定を適用)。
このオプションはHTMLを解析するため「表示されていない」画像も対象となります。
4,『https://goo.gl/HZwuen』(chromeのブランドページ画像)を開き、ポップアップの↓ボタンを押して下さい。
5,画像(chrome-new.jpg)が一枚保存されます。

以上は基本的な動作のみ行わせる設定となります。
もし、この操作で動作しなければお使いの環境では現バージョンの拡張機能は動作しないと言えます。

上記が動作した場合のみ、以下の手順をお試しください。

◆静的解析処理1
1,オプションページから「静的解析ON」にチェックを入れる。[静的解析]>[全て保存]のチェックは外します。([Configure]をクリックして設定を適用)
2,『https://goo.gl/tCWKeC』(chromeのブランドページ)を開き、ポップアップの↓ボタンを押して下さい。
3,画像(chrome-new(1).jpg)が一枚保存されます。

以上は静的解析において動作を確認する設定となります。
もし、この操作で動作しなければ開発としては静的解析関連の実装の問題と推測出来ます。

上記が動作した場合のみ、以下の手順をお試しください。

◆静的解析処理2
1,オプションページから「静的解析ON」にチェックを入れる。[静的解析]>[全て保存]のチェックを入れます。([Configure]をクリックして設定を適用)
2,『https://goo.gl/tCWKeC』(chromeのブランドページ)を開き、ポップアップの↓ボタンを押して下さい。
3,画像(chrome-new(2).jpg,benefits-1.jpg,benefits-4.jpg)が三枚保存されます。

以上は静的解析において全ての画像を保存する動作を確認する設定となります。
もし、この操作で動作しなければ開発としては静的解析関連の遅延処理の実装の問題と推測出来ます。

上記の3つのテストが全て通過したが問題は発生する、という場合は操作対象となったサイト特有の問題と推測できます。
例えばサーバー側で拡張機能での処理を拒否している、あるいは有効期限を設定されているページに対して有効期限が切れてからアクセスした、という場合等です。

現在発生している問題と、上記テストの結果をご報告頂ければ問題を解決する足掛かりになるかもしれません。
よろしくお願いします。

カテゴリー: Extensions, Javascript | 7件のコメント