adbird(広告鳥) 備忘録

Ubuntu18.04にwkhtmltopdfを再インストール

Ubuntu18.04のレポジトリに入っているwkhtmltopdf(0.12.4-1)をインストールして、いざ使ってみようとしたら、

あれ? --disable-smart-shrinking や --margin などのオプションが効かないぞ?

ということで、一旦アンインストールして、レポジトリからではなく公式サイトからたどったGitHubからインストールすることに。

Ubuntu18.04のコードネームは「Bionic Beaver」だから、「bionic_amd64.deb」をダウンロードすればいいはず…。

$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb

でダウンロード。

次にダウンロードしたdebをインストールするには、gdebi というツールがいいらしいので、それをインストール。

$ sudo apt install gdebi

そして、そのgdebiを使って、最初にダウンロードしたdebをインストール。

$ sudo gdebi wkhtmltox_0.12.5-1.bionic_amd64.deb

これで無事、 -disable-smart-shrinking や --margin オプションも使えるようになった。


追加:

その後、バージョンを 0.12.6 (with patched qt) に上げたら、ローカルのhtmlをpdfにしょうとするとエラーが出て、画像を読み込めず、cssの効いていないPDFになった。

いろいろ調べて、 --enable-local-file-access オプションをつければ上手くいった。

BIOSブート優先順序変更・ブート選択

これまでUbuntu14.04LTSとWindows10のデュアルブート環境(HDD1台上)だったのだが、Ubuntu14.04のサポートが来年2019年4月で終わるので、18.04LTSにしようと思い、いろいろ考えたり、試行したりした結果、HDD2台を使っての物理的なデュアルブート?環境にした。

つまり、1台のHDDにUbuntuがインストールされていて、もう1台のHDDにWindowsがインストールされているという状況。

1台のHDD上でのデュアルブートでは、Windowsブートマネージャー(またはgrubだったり)でどちらかのOSを選択すればよかったのだが、物理的に2台に分かれているときはどうすればいいか? BOISでブートする先を選択すればいいのだ。

僕の場合、普段はUbuntuでいいのだが、仕事上どうしてもWordなどを使わないといけない場合があるので、そのときはWindowsを立ち上げねばならない、という感じ。

優先順位を変える

まずは普段遣いのUbuntuが入っているHDDを優先的にブートするように順番を変える。
※以下はマザーボードGIGABYTEのH81M-DS2での場合。PCのメーカーやマザーボードにより押すキーやBIOS画面が変わってくるので注意。

PCの電源を入れて、OSが立ち上がる前に 「F2」 を連打するとBIOS画面になるので、「起動オプション #1」をUbuntuにする。
下の画面でUbuntuが2つあるのは、おそらく「/(ルート)」と「/home」の2つにパーティションを切ってインストールしたからだと思う。起動オプションの#1と#2をUbuntuにしておけばいい。

これで普段は、PCの電源を入れたら、Ubuntuが立ち上がる。

f:id:adbird:20181213154447j:plain
BIOS画面

たまにブート先を変える場合

そして、たまにWindowsが必要な場合は、PCの電源を入れてOSが立ち上がる前に、 「F12」 を押せば、いちいちBIOSに入らなくても、ブート選択画面が出てくるので、僕の場合「P0 〜」を選択すればWindowsが立ち上がる。

追記

マザーボードASUS PRIME H310M-E R2.0【MicroATX】 に替えたので、一時的にブート先を変えるときのボタンが「F8」になった。

PCの電源を入れてOSが立ち上がる前に、「F8」を連打すると下の画面が出てくるので、ブート先のハードディスクを選択できる。

f:id:adbird:20200521151312j:plain

ffmpegでTS(m2ts)ファイルをmp4に変換

追記:

長いファイル名の動画が複数ある場合などはファイル名の入力・コピペが面倒。

そこで動画名を入力しないですむ、もっと楽な方法を書きました。

ffmpegでTS(m2ts)ファイルをmp4に変換 2019年版

下記の内容より、↑ の方法をオススメします。


※注意:下記の記事の環境はUbuntu14.04です。現在のUbuntu18.04環境では再生時の音声トラブルも、WinFF変換時の音声トラブルもなくなったっぽいです。普通にWinFFを使えばトラブルなく変換できています。

  • WinFF ←Windowsの人はここで「Clone or download」をクリックして、「Download ZIP」でzipファイルをダウンロードしてインストールすればいいはず。
  • QWinFF 使ったことはないけど、これも良さげ。

動画の変換はGUIのWinFFというソフトがシンプルで簡単だったのでそれを使っていた。

しかし、あるTSファイルをWinFFでmp4に変換したら、変換後のmp4から音声が出ない…。

あるTSファイルとはN○Kの番組を録画したもので、目的の番組の前にニュースなどがちょっとだけ録画されてしまっていて、vlcで再生する際に音声がスローになってブツブツ切れてしまうファイル(界隈では結構有名な音声切り替えによるトラブル)。

TSファイルを見るだけなら、vlc再生時に一度音声を無効にしてから、また音声を有効にすればよいのだが、そのままだとファイルサイズが巨大すぎるのでmp4に変換してファイルサイズを小さくしたい。

WindowsならTsSplitterというソフトで対処できるらしい。

が、僕はUbuntuだし、わざわざwineを使ってまでWindowsのソフトを使いたくはない。

そこでいろいろ調べて、試行錯誤した結果、次のようにすれば問題のあるTSファイルでも変換できた。

シェルスクリプト

以下のような「tstomp4.sh」を作る。

(べつにシェルスクリプトを作らなくても、好きなものを選んで、端末で実行してもいい。動画名を2回入力するのが面倒なので、これを作った。)

# 音声エンコードなし
#ffmpeg -y -vsync 1 -i $1.m2ts -f mp4 -vcodec libx264 -map 0:0 -map 0:1 -s 1280x720 -aspect 16:9 -acodec copy -bsf:a aac_adtstoasc -ss $2 $1.mp4

# 音声ac3
#ffmpeg -y -vsync 1 -i $1.m2ts -f mp4 -vcodec libx264 -map 0:0 -map 0:1 -s 1280x720 -aspect 16:9 -acodec ac3 -b:a 192k -ss $2 $1.mp4

# 音声aac
ffmpeg -y -vsync 1 -i $1.m2ts -f mp4 -vcodec libx264 -map 0:0 -map 0:1 -s 1280x720 -aspect 16:9 -codec:a aac -bsf:a aac_adtstoasc -strict -2 -ss $2 $1.mp4

音声切り替えトラブルのないTSファイルなら、上記の「音声エンコードなし」でもいいのだが、音声切り替えトラブルがあるTSファイルの場合は「音声ac3」(ac3はDVD-Videoの音声コーデック)か「音声aac」にする。上記スクリプトでは「音声aac」にしている(それ以外はコメントアウトしている)。

  • $1 : 下記コマンドで入力する動画ファイル名が挿入される。
  • map 0:0 : 映像ストリーム
  • map 0:1 : 音声ストリーム。
  • $2 : 下記コマンドで入力する変換開始時間が挿入される(x秒後のところから変換する)。
    変換開始時間は目的の番組が始まった以降の時間を入れる。

実行

「tstomp4.sh」と変換したいTSファイルを同じフォルダに入れて、端末で開いて以下を実行。

sh tstomp4.sh [ファイル名。ただし、拡張子は書かない。] [変換開始時間]

例えば、test.m2ts というファイルの、冒頭3秒間にニュース等が録画されているとする。
そこで冒頭から(余裕を持って)5秒後、つまり目的の番組が始まったところから変換する場合は、

sh tstomp4.sh test 5

とする。test.mp4 ができているはず。

シンプルな方法(音声エンコードなし)

なお、冒頭部分をカットせずにたんに変換する場合は以下のコマンド。ただし、前記したように、古い環境では音声切替で問題が出る恐れあり。

$ ffmpeg -y -vsync 1 -i 入力.m2ts -f mp4 -vcodec libx264 -map 0:0 -map 0:1 -s 1280x720 -aspect 16:9 -acodec copy -bsf:a aac_adtstoasc 出力.mp4

変換するファイル名が長いときや、ファイルが複数ある場合は、上記コマンドでは面倒くさいので、ffmpegでTS(m2ts)ファイルをmp4に変換 2019年版 を強くオススメする。


ポータブックのWindows10大型アップデート

追記:その後のWindowsの大型アップデートで下記の方法でも上手くいかなったので、ついにUbuntuをインストールした。↓

ポータブックにUbuntu18.04をインストール - adbird(広告鳥) 備忘録


本体のストレージの容量が貧弱すぎて、Windowsの大型アップデートに失敗するポータブック

いろいろやってみた結果、以下の手順が確実で手間がかからない。

  1. 空のUSBメモリを用意(できるだけ大きな容量、今回は32GBのを使用)。
  2. 他のWindowsパソコンでMedia Creation Tool(メディアクリエイションツール)をダウンロードして、インストールメディアのUSBメモリを作成(アーキテクチャは64ビットにする)。
  3. そのUSBメモリをポータブックに挿して、「setup.exe」をダブルクリックしてあとは気長に待つ。

ほぼ以下の参照サイトなどで紹介されている方法と一緒なのだけど、メディアクリエイションツールでインストールメディアのUSBメモリを作成することが、なぜかポータブックでは失敗したので、他のWindowsパソコンで作成せざるを得なかったということぐらい。

まあ、パソコンはポータブックだけしか持っていない、なんて人はいないだろうし、ほとんどの人はポータブックとは別のメインのWindowsパソコン持っているだろうし、問題ないだろう。

ざっと手順メモ。

  • USBメモリのインストールメディアからアップデートするので、ポータブックのCドライブの空き容量は関係ないとは思うけど、バックアップも兼ねて、ドキュメント類を全部、他の場所(空のUSBメモリとは別のUSBメモリや、グーグルドライブなどのクラウドなど)に移して、Cドライブの空き容量を4GBほどにした。
  • 空のUSBメモリを挿したWindowsパソコン(ポータブック以外)で、Windows 10 のダウンロード のページヘいき、「ツールを今すぐダウンロード」をクリックして、メディアクリエイションツールをダウンロード。
  • ダウンロードしたメディアクリエイションツールの実行ファイルをダブルクリックして、実行。
  • 「実行する操作を選んでください」という画面になったら、「別のPCのインストールメディアを作成する(USBフラッシュドライブ、〜)」を選択して、次へ。
  • 「言語、アーキテクチャ、エディションの選択」という画面になったら、アーキテクチャを64ビットを選択する。
  • インストールメディアのUSBメモリが作成したら、そのUSBメモリをポータブックの方に挿して、フォルダを開いて「setup.exe」をダブルクリックしてアップデート。時間がかかるので、そのつもりで。

面倒くさがって大型アップデート(バージョン1803)をするのを後回しにし続けていて、ようやく重い腰を上げてアップデートしようとしたら、たまたまさらに新しい大型アップデート(バージョン1809)の開始日だった。

(ちなみにWindows 10 のバージョン履歴→ Windows ライフサイクルのファクト シート

そういうこともあり、最初、インストールメディアのUSBメモリの「setup.exe」を実行したら、途中、更新に失敗しましたってエラーが一度出たものの一応はアップデートは終わったので、確認したらバージョン1709…。

もう一度「setup.exe」を実行したら、今度はうまく行き、ちゃんと最新のバージョン1809になった。

Vivaldi 2.0 埋め込みのhtml5動画の音量調整を表示する

Vivaldiブラウザをバージョンアップしたら、埋め込みのhtml5動画(WebM 等)の音量がオン/オフしかできずに、音量調整ができなくなっていた。

例えば、このサイト→ HTML5 Video で確認すると、音量調整ができないのが分かると思う。

↓これはVivaldiブラウザだけでなく、Chromeの方でも同じらしい。

 Google Chrome ヘルプ フォーラム 動画の音量が調整できません。

上記リンク先の情報を参考に、アドレスバーで下記にアクセスし、

vivaldi://flags/#enable-modern-media-controls

の「New Media Controls」をDisabledにして再起動したら、音量調整ができる古いUIになって、問題解決( HTML5 Video でもう一度確認)。

きっとそのうち上記作業をしなくても音量調整ができる新しいUIがでてくるんだろうけど。

バイクのオイル交換2回目

もうすぐ1万キロに到達するDトラッカー125のオイル交換&エレメント交換。

今回、総走行距離9963kmにて交換。
前回は総走行距離7044kmで交換したので、2919kmで交換したことになる。

利用している電子書籍サービスまとめ

キャンペーンなどで様々なポイントをもらったり、Tポイントなどが貯まったりした時に電子書籍を買うことが多いのだが、各々、ポイントが使える電子書籍サービスが限定されているので、結果的にいろんな電子書籍サービスで電子書籍を買うはめになって、「あの本、どこで買ったかな?」となるので、利用している電子書籍サービスをまとめる。

余談。
Yahoo! JAPAN IDとTポイントを連携させておくと、Tポイントで電子書籍購入だけなくYahoo! JAPANサービスでいろいろ使えるので何かと便利。
前述の通り、日常の買い物等をクレジットカードのYahoo! JAPANカードで支払えば、Tポイントがどんどん貯まるし。

Yahoo! JAPANサービス たまる・使えるところ