してログ

SMB 1.0/CIFS
SMB 1.0/CIFS

Windows 10 April 2018 Update で SMBv1 のプロトコルがデフォルトで無効化されたことで、これを使用するファイルサーバーにアクセス不能になるようです。解消するには「プログラムと機能」から「Windows の機能の有効化または無効化」を開き、「SMB 1.0/CIFS ファイル共有のサポート」のチェックをオンにします。

ザリガニ
ザリガニ
クマノミ
クマノミ
イシダイ
イシダイ
キングサーモン
キングサーモン
ホソアカクワガタ
ホソアカクワガタ

ナンヨウハギはスクリーンショット撮るの忘れてましたが、いちばん先に捕れました(出現率も高め)。キングサーモンとホソアカクワガタがなかなか出なかった。

出現率の調整があったのか、マグロとナポレオンフィッシュがよく出てくるように。代わりに川のネオンテトラが最近見ていません。お願いされる、タイ、カブトムシ、ブラックバスは、状況に応じて出現率が高く調整されるような気がします。

iPhone によるスクリーンキャプチャ

機種替えなどで余っている iOS 端末があれば、標準機能である画面収録(スクリーンキャプチャ)をいつでも開始できるようにしておくと便利です。コントロールセンターに画面収録が無い場合は、設定>コントロールセンターから画面収録を表示アイコンに加えましょう。

画面の表示がそのままキャプチャされるため、お休みモードをオンにして、録画中は画面の向きが変わらないよう注意します。また、音量を完全にミュートしてしまうと無音になるので、周囲に音が聞こえないようにしたい場合でも最低レベルまでにします(この状態でも動画の音量は通常の大きさです)。

youtube-dl + FFmpeg の組み合わせ

コマンドラインプログラムであり、うまく使えば強力なツールです。そのためには、ある程度 YouTube の仕様と動画のフォーマットの知識が必要になります。

YouTube の場合、ライブ配信中 → 終了直後 → アーカイブ完了 の各段階で対応が変わってきます。ライブ配信中~終了直後は、HLS (HTTP Live Streaming) になっており、この段階でストリームキャプチャした場合が最も画質が高くなります。

ライブ配信中

ライブ中は HLS ストリームデータのみになります。ライブはアーカイブにならない可能性もあり、保険の意味でこの段階の早いうちにストリームキャプチャを開始したいところです。

なお、オプションで --hls-use-mpegts を使ってください。理由は、正常に終了しなかったライブなどで Ctrl+C で中断すると mp4 にリネームしても再生不能な動画になってしまう可能性が高いためです。

format code  extension  resolution note
91           mp4        256x144    HLS  197k , avc1.4d400c, 30.0fps, mp4a.40.5@ 48k
92           mp4        426x240    HLS  338k , avc1.4d4015, 30.0fps, mp4a.40.5@ 48k
93           mp4        640x360    HLS  829k , avc1.4d401e, 30.0fps, mp4a.40.2@128k
94           mp4        854x480    HLS 1380k , avc1.4d401f, 30.0fps, mp4a.40.2@128k
95           mp4        1280x720   HLS 2593k , avc1.4d401f, 30.0fps, mp4a.40.2@256k (best)

具体的なコマンドは下記のとおりになります。

youtube-dl.exe --hls-use-mpegts https://www.youtube.com/watch?v=xxxxxxxxxxx

ライブ終了直後

ライブ終了直後から MPEG-DASH も選択可能になりますが、これは HLS とほぼ同等のデータと思われます。頭から保存したい場合で画質の劣化を抑えたい場合は、この段階が終了する前にダウンロードを開始しなければなりません。なお、ダウンロード開始していれば動画が削除されても最後まで受信できる可能性があります(たぶん)。

format code  extension  resolution note
139          m4a        audio only DASH audio   64k , m4a_dash container, mp4a.40.5@ 48k (24000Hz)
140          m4a        audio only DASH audio  144k , m4a_dash container, mp4a.40.2@128k (48000Hz)
160          mp4        256x144    DASH video  124k , mp4_dash container, avc1.4d400c, 30fps, video only
133          mp4        426x240    DASH video  258k , mp4_dash container, avc1.4d4015, 30fps, video only
134          mp4        640x360    DASH video  646k , mp4_dash container, avc1.4d401e, 30fps, video only
135          mp4        854x480    DASH video 1171k , mp4_dash container, avc1.4d401f, 30fps, video only
136          mp4        1280x720   DASH video 2326k , mp4_dash container, avc1.4d401f, 30fps, video only
91           mp4        256x144    HLS  197k , avc1.4d400c, 30.0fps, mp4a.40.5@ 48k
92           mp4        426x240    HLS  338k , avc1.4d4015, 30.0fps, mp4a.40.5@ 48k
93           mp4        640x360    HLS  829k , avc1.4d401e, 30.0fps, mp4a.40.2@128k
94           mp4        854x480    HLS 1380k , avc1.4d401f, 30.0fps, mp4a.40.2@128k
95           mp4        1280x720   HLS 2593k , avc1.4d401f, 30.0fps, mp4a.40.2@256k (best)

コマンドでは --hls-use-mpegts を付けない方が良いと思います。付けた場合の MPEG-TS は再生時にシークなどが重くなる(ストリーミング再生に適したフォーマットでシークは苦手な)ためです。付けない場合 DASH が選択され(なぜか best が付くのは HLS ですが)ますし、HLS が選択された場合でも MPEG-4 AVC になります。

youtube-dl.exe https://www.youtube.com/watch?v=xxxxxxxxxxx

また、ライブ配信中はどうしても途中からの録画になってしまいますので、配信終了直後に再度ダウンロードするようなバッチファイルを作成しておくと便利です。(追記へ)

ytlive-dl.bat
youtube-dl.exe --hls-use-mpegts -o "[%(upload_date)s] %(title)s - %(id)s onlive.%(ext)s" https://www.youtube.com/watch?v=%1
youtube-dl.exe -o "[%(upload_date)s] %(title)s - %(id)s complete.%(ext)s" https://www.youtube.com/watch?v=%1

アーカイブ完了後

その後アーカイブ処理が行われ通常の動画扱いになりますが、この際に再エンコードが行われ画質低下があります。また HLS データは削除され MPEG-DASH は残ったように見えますが、これは再エンコードされたもののようです。再エンコード時には、解像度が標準と異なる場合はリサイズされ、最悪のケースでは黒ベタが付いて更に解像度が落ちるようです。

ちなみに、アーカイブ処理が終わるとデータコピーが行われるためか、YouTube サイト上で動画が2個あるような表示になります。この状態を目安にすれば、間もなくアーカイブ処理が終了することが判断できます。

format code  extension  resolution note
139          m4a        audio only DASH audio   51k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 3.72MiB
140          m4a        audio only DASH audio   98k , m4a_dash container, mp4a.40.2@128k (44100Hz), 7.42MiB
160          mp4        256x144    DASH video  108k , mp4_dash container, avc1.4d400b, 30fps, video only
133          mp4        426x240    DASH video  242k , mp4_dash container, avc1.4d400c, 30fps, video only
134          mp4        640x360    DASH video  637k , mp4_dash container, avc1.4d401e, 30fps, video only, 21.66MiB
135          mp4        854x480    DASH video 1155k , mp4_dash container, avc1.4d4014, 30fps, video only
136          mp4        1280x720   DASH video 2320k , mp4_dash container, avc1.4d401f, 30fps, video only, 86.31MiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k, 6.62MiB
36           3gp        320x180    small , mp4v.20.3, mp4a.40.2, 18.95MiB
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k, 36.35MiB
22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)

アーカイブ後は通常の動画と同じコマンドです。

youtube-dl.exe https://www.youtube.com/watch?v=xxxxxxxxxxx

補足情報

youtube-dl はデフォルトでベストな動画を選択してダウンロードしようとしますが、必ずしもベスト(様々な要求があるので仕方ありませんが)ではありません。特に縦長の動画に対しては、解像度の低いフォーマットが選択されてしまう場合があるので注意が必要です。

自分でフォーマットを選択したい場合は、まず -F オプションを付けてフォーマットリストを取得します。その中から、ダウンロードしたいフォーマットの番号を確認して -f <フォーマット番号> と指定してダウンロードさせます。注意点としては、video only になっているフォーマットは、-f "137+140" のように audio only になっている音声フォーマットも選んでください。この時フォーマットを合わせないと mkv になりますので、mp4 なら m4a、webm なら揃えて選ぶと良いと思います。

毎回手動でフォーマットを選ぶのは現実的では無いので、アッパースクリプトで制御して自分にとって適切なフォーマットが選ばれるような対応した方がいいでしょう。フォーマットの選び方は、人それぞれ好みがあると思いますので、ここでは私の使っているロジックのみ紹介しておきます。

  1. youtube-dl -F でフォーマットリストを取得する
  2. ビデオフォーマットで面積を計算して一番大きいものを選択(mp4 や webm はどちらでもよいが、同じ解像度は mp4 を優先する)
  3. ビデオフォーマットが video only の場合は、オーディオフォーマットを選ぶ
  4. オーディオフォーマットはビットレートが一番大きいものを選択(ただしビデオフォーマットに合わせて mp4 / m4a、もしくは webm / webm の組み合わせ)
  5. 選定したフォーマットを指定してダウンロードを実行する

解像度を何よりも優先するのがポイントです。これで今のところ最高画質の動画が選ばれるはずです。ただし、アップロード者が YouTube の再エンコード処理の終了を待たずに動画を公開した場合、すべての解像度が揃っていない場合があります。これは判定が難しいので、アップロードして間もない動画で解像度が低い場合は、時間を置いてもう一度ダウンロードしてみることをお勧めします。

追記

ライブ終了直後に再度ダウンロードを開始した場合、すべてのピースが揃っていない動画になることがあるようです。例えば、2時間半くらいのライブで最初の30分間がカットされていたことがありました。最初の30分を含めた長さの動画は、HLS データが削除されアーカイブされた後にダウンロード可能になりました。

従って、確実にダウンロードしたい場合は、下記のようにするのがベストかと思います。

  1. ライブが開始されたら早い時間に、--use-mpegts オプションでダウンロード開始する(終了直後に削除される設定の場合はこのキャプチャでしか取れません)
  2. ライブが終了したら、すぐに再ダウンロードを開始する(ユーザーが手動で削除してしまう場合もあるので直後に開始します。開始してフックしまえば最後まで取れます)
  3. アーカイブ終了したら、もう一度ダウンロードをする(動画の長さが足りない場合があるので取得しておきます。但し、リサイズされてしまう場合があります)

PuTTY の設定ファイルはレジストリに書き込まれています。PuTTY 自体はインストールなしでポータブルに持ち歩けますが、設定はPC個別に行わなければなりませんでした。今回は、レジストリのバックアップとリストアのバッチを作ることで、簡単に別PCに移植できるようにします。

なお、WinSCP のポータブル版は接続設定を ini ファイルに置いてますので、こちらを持ち歩いても良いかと思います。ini の接続設定を使って PuTTY を起動させることができます。

バックアップ

reg export HKEY_CURRENT_USER\Software\SimonTatham\PuTTY putty.reg

リストア

reg import putty.reg

使い方

上記のコマンドをバッチファイルにしておき、PuTTY のサブディレクトリに置いておくと便利です。また、レジストリを削除するバッチも用意しておくと持ち歩いて作業後、速やかに削除できるのでお勧めです。

セキュリティ的には、接続設定込みで持ち歩くのはNGかと思いますので、よく考えたうえで活用してください。

嘘です
嘘です

半年ぐらい無料で使えそうなので、Office 2019 Commercial Preview プログラムに参加してみました。具体的な手順は「Office 2019 Commercial Preview プログラムに参加する方法」を参照してください。

インストール手順

  1. Microsoft Collaborate にアクセスし、Office 2019 Commercial Preview に参加(Join)します
  2. Office 2019 Commercial Preview Documentation (Win32) をダウンロードします
  3. Office Deployment Tool (Win32) のパッケージをダウンロードします
  4. ダウンロードしたツールを実行します(解凍先を聞かれるので指定します)
  5. 解凍先に configuration.xmlファイルがあるのでメモ帳などで開きます
  6. ダウンロードしたドキュメントを解凍し、Volume activation for Office 2019 Preview.docx に記載してあるプロダクトキーを確認します
  7. メモ帳などを使って、configuration.xml にプロダクトキーを書き込みます
  8. コマンドプロンプトを開き setup /configure configuration.xml と実行します(セットアップをクリックしただけではインストールできません)
  9. セットアップはかなり遅くフリーズしているか疑ってしまうほどです(「すぐ完了します」は嘘です。7時間ほどかかりました)

正式版までの繋ぎとして

MS-Office を恒久ライセンスで導入したい場合、新バージョンが出た直後に購入するのが最もお得だと思われますが、それプラスこのプレビュー版を活用するのが賢いと思います。Office365 がお得なのは分かるのですが、Office の場合常に最新版が必要かというと、そうではありません。本質の機能面では、はっきり言って Office 2003 で十分なので、xlsx や docx などフォーマットが変わらない限り1個飛ばし、2個飛ばしで更新しても良いと思います。

また、恒久ライセンスであればバージョン違いではありますがライセンスが増えて行きます。古いバージョンはサブ PC や仮想環境などで利用すれば、Office365 の5台使用可には及びませんが多少のメリットと言えます。

Windows10 が最新版にアップグレードできない問題を解消するために、ESXi をアップグレードすることにしました。下位バージョンの 5.5 で問題無いことと、NIC も外した最小構成でもダメだったことから、6.0u1 固有の問題が疑われました。

アップグレード手順

概ね下記の手順になります。アップグレードによって、ファイルシステムのサポートが終了したりするので、事前に調査しておきましょう。メジャーバージョン同士でもクライアントがウェブベースになったりしていますので、注意が必要です。

  1. ファイルをダウンロード
  2. ESXi からアクセスできるファイルシステムにコピー
  3. すべての仮想マシンを停止
  4. メンテナンスモードに切り替え
  5. アップグレード
  6. 再起動
  7. メンテナンスモード終了
  8. 停止した仮想マシンを起動

ダウンロード

my vmware から、製品名を "ESXi (Embedded and Installable)"、バージョンを選んでファイルを検索します。リストには、"update-from-esxi6.5-6.5_update02" など update の付いたものがあります。恐らく、update 付きのものはそこまでの更新ファイルをまとめたもの、付かないものは差分と思われますので、内容をよく確認して差分ファイルも必要か判断してください。

アップグレード

まずアップデートファイルの内容(プロファイル名)を確認します。今回のファイルは下記の内容でしたが、日付の違いと後ろの "s" はよく分からないのですが、"ESXi-6.5.0-20180502001-standard " を入れることにしました。

esxcli software sources profile list \
-d /vmfs/volumes/hdd/update-from-esxi6.5-6.5_update02.zip
Name                              Vendor        Acceptance Level
--------------------------------  ------------  ----------------
ESXi-6.5.0-20180501001s-standard  VMware, Inc.  PartnerSupported
ESXi-6.5.0-20180501001s-no-tools  VMware, Inc.  PartnerSupported
ESXi-6.5.0-20180502001-no-tools   VMware, Inc.  PartnerSupported
ESXi-6.5.0-20180502001-standard   VMware, Inc.  PartnerSupported

調べたプロファイル名を指定して、アップデートコマンドを発行します。ファイル変更を行わない "--dry-run" オプションもあるので、動作を確認する場合は指定してください。

esxcli software profile update \
-p ESXi-6.5.0-20180502001-standard \
-d /vmfs/volumes/hdd/update-from-esxi6.5-6.5_update02.zip

更新作業は一瞬で終わりますので、ホストを再起動して適用されたか確認をします。今回は懸念していた問題は何も無く、あっという間に最新版にアップグレードできてしまいました。

アップグレード結果

全ての仮想マシンを停止するので、今までアップグレードしてきませんでしたが、案外簡単に時間もかからずアップグレードできることが分かりました。しかし、いつもこんなうまく行くとは限りませんから、バックアップシステムがあると安心だなと思いました。iSCSI だとロードバランサみたいにバックアップシステムを使うことはできませんが、NFS ならそういった構成もありかなと思います。

さっそく Windows 10 のアップグレードを試したところ、ブルースクリーン&ロールバックは発生せず、問題なく April 2018 Update を適用することができました。結論としては「ESXi6.0u1 のホスト環境では Windows 10 1603 以降の仮想マシンは動作しない」ということでした。

追記:別環境5.5→6.7アップグレード

相変わらずサイトが分かりにくいので my vmware から、アップデートファイルのダウンロードページまでのパスをメモしておきます。5.5からアップグレードする場合、いったん6.0に上げてから6.7へと2段階で行います。

  1. my vmware にアクセス
  2. 右側の Quick Links から All downloads に行く
  3. 右側の Other Downloads から Download Patches に行く

メジャーバージョンを上げたためか、ライセンスキーの更新も必要なようでした。この取得先も分かりにくかったので同様にメモしておきます。

  1. my vmware にアクセス
  2. 右側の Quick Links から All downloads に行く
  3. 表示された All Products からVMware vSphere Hypervisor (ESXi) の View Download Components に行く
  4. 製品リストが表示されるので Download に行く
  5. License & Download にライセンスキーがある(執筆時点ではこのページ

タイトル通りなのですが、私の ESXi6.0u1 の環境では Windows10 が Windows Update や更新アシスタンスによるアップデート、インストールメディアから起動、いずれも "KMODE EXCEPTION NOT HANDLED" のブルースクリーンになりロールバックされてしまいます。そんな訳で Windows7 を使い続けて来たのですが、そろそろ Windows10 の環境も無いと困るので重い腰を上げて調査しています。最初に断っておきますが、まだ解決できておらず何の参考にもならない記事になります。

状況について整理

  • Windows 10 1511 からアップグレードすると、再起動時に "KMODE EXCEPTION NOT HANDLED" のブルースクリーンが表示されロールバック
  • Windows Update、更新アシスタンス、インストール CD、何れの方法でも失敗
  • 「PC を初期状態に戻す」を実行し、Windows 10 のみにしてもアップグレードに失敗
  • 非標準サポートの RTL8168 の NIC を使っていたので、デバイスマネージャで削除&仮想マシンのデバイスからも削除、この状態でも失敗
  • 仮想マシンのバージョンを8~11の間で変更してもダメ
  • 新しい仮想マシンで上記ひととおり確認してもダメ
  • BIOS、EFI、ハードディスクのタイプ、SCSIアダプタ、考えられる組み合わせすべてダメ
  • いっぽうハード構成が違う ESXi5.5 では最新の 1803 まで動作を確認
  • 6.0u1 固有の問題かも?と検索してみるが解決に繋がる情報は得られず(同様の症状の書き込みは見つかるが…)

ESXi のアップデートを検討

あまり面倒なことはしたくないので、今まではクリーンインストールしかしていませんでした。しかし、iSCSI や特殊デバイスをパススルーしていたり、あまりダウンさせたくない VM も動いているのでアップグレードを検討しています。手順はそれほど難しいものでは無さそうですが、いろいろと不安材料があります。

  • 手動で入れた NIC Realtek RTL8168 は消えないのか(そのまま動くのか)
  • 仮想マシンの設定はそのまま保持されるのか
  • 問題があった場合はどうやって戻すのか(または戻せないのか)

NIC についてはクリーンインストールでもバージョンによって入らなかったりするので、非常に不安です。そもそも Windows 10 1511 のときも突然ネットに繋がらなくなったりして、不安定だったので Windows7 を使っていた経緯があります。今回、真っ先に NIC を疑ったわけですが、デバイスを外してもダメなので無関係と思われ、その検証をする前は Intel の NIC を増設しようとしていました。

仮想マシンはすべて iSCSI に入っているので、最悪クリーンインストールしても消えることは無いはずですが、オペミスや再設定が不安(めったにやらない手順なので)です。また、特殊デバイスのパススルー設定もやりたくない作業ですので、アップグレードを選択します。

問題があった場合はたぶん戻せないので、そうなったらクリーンインストールやむなし、ということで。今回、互換性とWebベースの管理画面を避けたいという点を考慮して、6.0u3 へアップグレードしようと思っています。これが成功して Windows 10 1803 が動けば良し、ダメなら 6.5 へ更に上げ、それに失敗したらクリーンインストールということにします。Webベースになったのは 6.0u2 からでしたので、いっきに 6.5u2 にアップグレードすることにしました。

とりあえず作業手順を調査中

中途半端ですみません。作業したらまた記事にします。

エリアマップ編集用に描いた下書きが出てきたので記事に残しておきます。

左右繋がったマップにしました

オリジナルのゼビウスは左右ループしたエリアはありません(そういうデザインになっていない)が、プログラム上はループしてても問題が無いような作りになっています。そこで、新16エリアは左右ループしたマップデザインに変更しようと思いました。オリジナルマップを半分シフトして、左右がうまく繋がるよう編集していくのですが、その前に手書きイメージを作成しています。なお、基本としたマップはオリジナルを左右反転したものです。

編集作業

ハチドリの砂漠をうまく閉じるのに、2面や16面の道路(右半分)を潰して自然にしています。ストーンサークルのような地形が欲しいので、それを真ん中あたりに作り、川は上に蛇行&合流させて森へ消えるよう処理します。他は、湖に島を作る、森に砲台サイトを作る、反転した影を修正などを行っていきます。

その他

今回左右繋げた結果、同じような背景のエリアが多くなるのを少し改善できますが、なくせる訳ではありません。16エリア切り出すには圧倒的に足りませんし、使い勝手の面で同じような背景マップを使わざるを得ないのが実情です。マップチップのグラフィックは2段階で反転が可能にしているように、マップ自体も左右・上下反転したものも使えるようプログラムしてあったら良かったのにと思います。