先日ようやくEvernoteからの脱却が片付いて、これで ちょっとのんびりできそうだとPCをいじっていたら、ふと、観もしないビデオが山ほど入ったHDDを整理したくなった。
詳しく書くと、僕のPCにはSSD(システムディスク)の他にHDDが2個あり、ビデオはビデオ用HDDと、(それだけでは足りず、)もう一個(ドキュメントや音楽用)に入っている。その後者に入っているビデオをどうにかしてビデオ用HDDに移し、ビデオ用HDDをPCから外して保管し、PCのHDDをドキュメント・音楽用だけにして簡素化したくなった。そうすれば、使いもしないHDDをいつも動かしておくことがなくなって気分が良くなり、将来小さいPCケースにすることもできそうだからだ。
なお、外したHDDをずっと動かさないでおくと、メカが劣化して いざ使う時に動かなくなりそうなので、HDDアダプタに入れてバックアップHDDと同じ電源系統にして、バックアップする時に電源が入るようにして、定期的に動かすことで劣化を防ぐことを考えた。
とは言え、そもそも今まで溜まったビデオを観たことなんてほとんどないので、そういう維持措置、それどころかデータ自体が不要な気もしたが、まあ、無碍に捨ててしまうのもなんなのでw、今は残すことにした。
ビデオの容量の大半は地デジなどのTV番組(当時はちゃんとN○Kと契約していたw)を録画したファイル(MPEG2-TS、以下TS)で、1本10GB以上にもなることがある(今となっては「馬鹿かな?」と思うし、当時も確かに大きいとは思って居たものの、HDDも大きいからそれほど大きな疑問はなかった)。
TSを圧縮する方法を調べたら、MPEG4(以下MP4)にするといいようだった。ffmpegというプログラムで試してみたら、容量が1/10くらいになった(例: 約30分の番組で、TSが3.3GBだったのが、MP4にしたら330MBになった)ので、「これはいい!」と、「ちょっとやってみる」ことにした。そして、いつものように想定外の問題が多発して苦労した・・・w
それにしても、もう圧縮方式の細かいことは分からなくなってしまったが、TSはなんであんなに巨大(圧縮が効いてない)なのだろうか? 駄目な子だったのか、MP4はその後の進歩の成果なのか。これだったら、一般人がTSで保存する意味はほとんどないではないか。
記憶と記録から思い出すと、以下のような想定外の問題に苦しんだ・・・
- ffmpegのクソ仕様
- ffmpegは標準入力(stdin)からキーを読み込むらしく、一括変換スクリプトが誤動作して(ffmpegにファイル名を読み込まれてしまい、最初のファイル1個しか変換できなかった)訳が分からず、しばらく悩んだ。普通はstdinがターミナルか判定するものだが、なぜかしていないようだ。
- でも、今となっては(以下に延々と書く問題に比べたら)こんなのは可愛い方だったw
- あと、警告だかを黄色い文字で出されて(ターミナルの背景が明るいので)、全然読めなくて困った。
- ffmpegは標準入力(stdin)からキーを読み込むらしく、一括変換スクリプトが誤動作して(ffmpegにファイル名を読み込まれてしまい、最初のファイル1個しか変換できなかった)訳が分からず、しばらく悩んだ。普通はstdinがターミナルか判定するものだが、なぜかしていないようだ。
- 一部のファイルで音ズレ (謎) ← 二か国語とステレオ放送の切り替えが悪かったようだ。
- TVのタイマー録画は番組開始の少し前から録画が始まるが、前の番組と本編の音声モード(二か国語/ステレオ)が異なると(例: 本編の前がニュース)、MP4に変換した時に本編が音ズレする(約0.8秒、音が遅れる)問題が起こった。
- TSを再生する時は問題なかったのが不思議だが、実は他にもいろいろ問題はあって、どうやら まともに再生できるものは少なかった。
- Windowsでは、日本製の日本のTVにきっちり対応しているソフトを使って居たので大丈夫だったが、Linuxではまともに再生していなかったので気づかなかった。
- → いろいろ調べ、試行錯誤して、ffmpegのjoinというフィルタで二か国語の主と副音声をMP4のステレオの左右に振り分けてみたら(後述)、なぜか音ズレがしなくなった。
- ↑ 主/副と左/右の対応を無意識に決めてしまったが、大丈夫かと今になって心配になった。でもまあ、左右はいつでも交換できるから、いいやw
- TVのタイマー録画は番組開始の少し前から録画が始まるが、前の番組と本編の音声モード(二か国語/ステレオ)が異なると(例: 本編の前がニュース)、MP4に変換した時に本編が音ズレする(約0.8秒、音が遅れる)問題が起こった。
- 「ガラパゴスMPEG2-TS」の問題
- デジタルTVを録画した場合、1ファイル中に複数の「プログラム」というものが入っており、中にはワンセグらしきものもある。どういう訳か、そのワンセグが再生されたり変換時に抽出されることがある(その場合、ぼやけた天気予報のようなものになることが多い。: これを見た時、放送の予定が変わってちゃんと録画されていなかったのかと、今更ながら思ってw、ファイルを削除した。でも、あとで本当のことが分かってバックアップから戻した)。正常な場合も多いので、不思議だ。
- 上記の二か国語とステレオ放送の問題もある。
- 更に、アナログと違って「二か国語かつステレオ」の番組もあって、一応両方残したいが、どうやったら全部をMP4に入れられるのか分からず、途方に暮れた。。。
- → 上の音ズレに似たような処理で、ffmpegの-mapというオプションで二か国語の主と副音声をMP4の2組のステレオ音声にして対応した(合計4チャネル)。主と副は再生時にプレーヤーで選択できる。
- MP4は万能でない。
- 小さいビデオ(MPEG2など)を圧縮すると、画質の劣化がひどい。
- → 一括変換時はファイル形式(suffix)でTSだけを抽出し、更に、ファイルサイズが小さい場合も変換しないようにした。
- 小さいビデオ(MPEG2など)を圧縮すると、画質の劣化がひどい。
- Linuxには何でも再生できる動画プレーヤーがない。
- (ガラパゴス)TS, BD, DVD, MPEG2などのフォーマット全部をまともに再生できるプレーヤーはない。
- いろいろ試した結果、対応フォーマットの幅広さに関してはffplayが一番マシで、次はCelluloidかvlcと思う。
- ただ、ffplayは余りにも簡素で使い勝手が悪いので、再生用のスクリプトを作った。
- DVD(IFOやVOBを指定)や、音声(MP2)が別になったMPEG2(M2V)を音声を合わせて再生できるようにしたり、動画のサイズ(画素数)に従って、適当なサイズで表示するなどの機能を付けた。
- が、作りながら、そもそも観ないのに そんなものを作る必要はあるのかと疑問に思ったw ただ、たまに確認する時(があるとして)などに何も考えずに観られたほうがいいのは確かなので、意味はある。
- → その後、ffplayで再生するのは、他のプレーヤーでは特殊な場合に対応できないTSだけにして、あとはvlc(DVD)とCelluloid(MP4, BD, MPG, 他)を内部的に切り替えて使うように改良した。適材適所である。
- なお、vlcはDVDのメニューが動くので使った。
- (ガラパゴス)TS, BD, DVD, MPEG2などのフォーマット全部をまともに再生できるプレーヤーはない。
- HDDケース(Logitec LGB-EKU3(= LHR-EKWU3BK))の問題
- 自動で電源offになるのが早過ぎて、USB3のポートにバックアップ用HDDと一緒に繋ぐと認識されないことが多い。USB3だと単独でも駄目なことがある。
- バックアップ用HDDの起動が遅く、それまでにHDDケースがアクセスされないと電源が切れてしまうようだ。
- PCが古く、当時出たてのUSB3 IFとの相性が悪いのかも知れない。
- → 仕方ないので、HDDケースはUSB 2に繋ぐことにした(そういうことなら、もっと安いUSB2対応のケースにすれば良かった・・・)。まあ、ビデオなら問題はない(そもそも観ないしw)。
- 使っていて気付いたこと。
- このケースは5分間(短い!!)アクセスしないとスタンバイになり、次にアクセスする時は結構時間が掛かり(数秒間だろうが、10秒以上に感じる)、その間は関係するアプリがハングしたようになってイライラするので、ディスクがマウントされている時は定期的(4または5分ごと)にアクセスするようにして、スタンバイさせないようにした。今、効果を確認中である。 (12/12 12:20)
- 電源・アクセスランプが後ろ側(ケーブルを繋ぐ側)にあって(コストダウンのためだと思う)、正面から見えなくて不便だ。今は後ろ側を前に向けているがかっこ悪い。あとで改造して、ランプを正面に移したい。 (12/12 12:23) → 前面にランプを追加した。 (12/13 7:03記)
- 「アルミ製ケースで放熱性がいい」とうたっているが、疑わしい。密閉して通風せず、HDDとケースが密着しておらず(上部で接してはいるが、充分とは思えない)、ケースも放熱しやすい形状ではないので、熱はこもると思う。実際、HDDの温度は通常より高目になった(10℃近く高くなった)。熱くはないが、熱を持つタイプを長時間使うと良くなさそうだ。 (12/13 5:30)
- 結局、このケースはなんかイマイチだ・・・ 一応使えるけど。
- 自動で電源offになるのが早過ぎて、USB3のポートにバックアップ用HDDと一緒に繋ぐと認識されないことが多い。USB3だと単独でも駄目なことがある。
- Linuxのデバイス名が変わる問題
- 大昔と違い、ディスクのデバイス名が起動時の状況で変わるため、外付けHDDを繋いだまま起動すると、それが/dev/sda(通常はシステムドライブの名前)になってしまい、状態監視ソフトMuninのHDD関連の表示がおかしくなる。。。
- udevの設定で回避できそうだが、とりあえずは、起動時には外付けHDDはoffにすることにした。
- デバイス名が変わってもちゃんと起動するだけマシだが・・・
- 良く考えると、デバイス名が変わっても大きな問題なく動くのがなかなかすごいと思う。
- 更に考えると、「だったら、デバイス名なんて意味ないから止めろよボケ!」って言いたいが、僕には作れないので言えない。
- → その後、MuninのHDD関連のプラグイン: hddtemp_smartctlとsmartの設定で、ディスクのデバイス名でなくディスクID(/dev/disk/by-id/*)でアクセス・表示するようにして、デバイス名が変わっても値が変わらないようにした(ディスクIDはなかなか長いが仕方ない)。他にもデバイス名を使うプラグインはあるが、方法が分かったので良しとする。 (12/12 12:12)
- → その後、hddtemp_smartctlで仮想的な(公称の?)デバイス名を使う方法が分かり、従来どおりの表示(例: "/dev/sda")にできた。また、特定のドライブのタイプを指定する方法も分かった(これにより、デフォルトでは対応していない外付けドライブの温度も表示できるようになる)。概略を以下に書く。 (12/12 23:48)
- /etc/munin/plugin-conf.d/munin-nodeのhddtemp_smartctlセクションに以下を設定する。
- 仮想的なデバイス名の指定: env.dev_仮想デバイス名 実際のデバイス名("/dev/"は省く)
- 例: env.dev_sda disk/by-id/ata-ADATA_SX900_.....
- 特定のドライブのタイプの指定: env.type_デバイス名 ドライブのタイプ
- 例: env.type_sdc sat
- → その後、hddtemp_smartctlで仮想的な(公称の?)デバイス名を使う方法が分かり、従来どおりの表示(例: "/dev/sda")にできた。また、特定のドライブのタイプを指定する方法も分かった(これにより、デフォルトでは対応していない外付けドライブの温度も表示できるようになる)。概略を以下に書く。 (12/12 23:48)
- → その後、BIOSのSATA設定でシステムドライブなどのPlug and playをoffにしたら、外付けHDDを繋いだまま起動しても内蔵ディスクのデバイス名が変わらなくなったようだ。Plug and playが有効なドライブはUSB接続と同等に扱われるのか。 (12/14 7:03)
- 大昔と違い、ディスクのデバイス名が起動時の状況で変わるため、外付けHDDを繋いだまま起動すると、それが/dev/sda(通常はシステムドライブの名前)になってしまい、状態監視ソフトMuninのHDD関連の表示がおかしくなる。。。
- 動画管理ソフト tinyMediaManagerの最新版(V4)が有料(サブスクリプション)になってしまった。しかも、安くない。
- 今の版(V3)に不満があることもあって代替を探したが、なかなかいいものないので、「自作するかなあ」と思い掛けたが、そもそもほとんど使わないので、今使っている古い版で充分だと気付いた。
他にもあったかも知れないが、思い出せない。
そんなこんなで、ようやく落ち着いた。PCが古いため、約150本(最初は最低限だけ圧縮しようと思って居たが、段々、あれもこれもと増えた)のビデオの圧縮に数日間掛かったが、その甲斐あって、合計約3TBが約2TBに減り、目論見どおりビデオ用HDDをPCの外に取り出せて、PCのベイはまさにスカスカだ^^ 変換したビデオを削除すれば、ドキュメント・音楽用HDDの空きが500GBくらい増えて1.2TBくらいになる。こっちもスカスカだ。これなら、ちょっと怖いけど、将来は大き目のSSD一個にできるかも知れない。
なお、TSの圧縮(MP4への変換)は以下のようなコマンドで行った(それぞれ見様見真似・試行錯誤で決めたので、これで本当に正しいかは不明)。
通常の場合:
ffmpeg -i (ファイル名).ts -c:v libx264 -crf 29 -preset veryfast (ファイル名).mp4
説明: -crfは品質を、-presetは変換速度を指定するようで、検索したり少し試して、上のようにした。crfが29だと圧縮後のサイズが1/10くらいになった。
音ズレへの対応:
fm_cda_L_pno=(左チャネルに対応するTSのプログラム番号(例: 1024))
fm_cda_R_pno=(右チャネルに対応するSのプログラム番号(例: 1025))
ffmpeg -i (ファイル名).ts -c:v libx264 -crf 29
-preset veryfast -filter_complex
"[0:$fm_cda_L_pno][0:$fm_cda_R_pno]join=inputs=2:
channel_layout=stereo[a]" -map 0:0 -map "[a]" (ファイル名).mp4
説明:TSの中にいくつかあるプログラムなるもののうち、日本語と英語と思われるものの音声をMP4の左と右に割り当てている。本来は、放送のモードがステレオに変わったらステレオになるべきだと思うが、録画に使ったソフトかffmpegの仕様なのか、ずっと二か国語モードのままなので、このようにした。
なお、検索して参照したページにもう一つの方法として書かれていた、amendというフィルタだと、左右が混ざってしまって良くなかった。 (良く分からないで使っているせいだとは思う)
ただ、本来は、音声モードが変わる時になぜか起こる音ズレを解消したかったのに、単に音のチャネル割り当てで直ったのが謎だ。
ステレオの二か国語への対応:
ffmpeg -i (ファイル名).ts -c:v libx264 -crf 29 -preset veryfast
-map 0:0 -map 0:1 -map 0:2 (ファイル名).mp4
説明: デジタルTVの二か国語放送は主・副音声ともにステレオなので、それぞれの音をMP4に入れた。主音声は最初の2チャネルペア(-map 0:1)、副音声はそのあとの2チャネルペア(-map 0:2)になっており、プレーヤーでは、例えば、vlcでは"Audio track"で切り替えることができる。
それから、確認のためにMP4に変換後のビデオをちょっとずつ観ていたのだが、いろいろな感想があった。
- 昔の洋楽のPVの番組は、ほとんど音(演奏)でしか知らないアーティスト(例: ボストン、プリテンダーズ、ブームタウン・ラッツ)が動く姿が観られて、なかなか興味深かった。あと、たまに、口パクでなく本当に演奏しているものもあって、貴重だった。
- まあ、今ならYouTubeでいくらでも観られて、そでも観ないのだから、やっぱり僕には必要ではないのだろうが、ちょっと観るのはおもしろい。
- でも、年代にもよって、60年代は「いかにも」で ほとんどつまらなかった。ビートルズは異質だったのか、特別僕の好みだったようだ。そして、60-80年代ではやっぱり80年代が良かった。
- 更に余談だが、さっきPVを観たプリテンダーズのボーカルの女の人は「姉貴」って感じで頼れそうな気がする。でも、下手に甘えると「ウルセー」とか言われれそうだが、実際にはそうでもなさそうなのがいい。と妄想しているw
- あと、プリテンダーズはギターが二人ともテレキャスだったのがポイント高い(たまたまその曲だけかも知れないが)。高校の頃はシンプルな外観が大好きだった。今は、音から言うとレスポールかねえ。
- YMOは好きだけど、各メンバー(坂本も細野も高橋も)は全員好きじゃない。(今となっては)全員暗くて意識高そうで、更に気持ち悪い。
- 当時(十年くらい前)好きで録り溜めた日本の女優・歌手などの番組は、全部捨てたいw
- 当時でもベテランの領域になっていたアイドル系女性歌手を、とてもクリアなPCのディスプレイでアップで観てしまうと、「うむ・・・」という気分になった。
- 当時書いたかも知れないが、2011年2月の「題名のない音楽会」でマーティー・フリードマンがエレクトリックギターでソロを演奏した、ラフマニノフのピアノ協奏曲 第2番(抜粋?)がなかなか良かった。乗りはいいし、音もいいし(意外にもギターの音は浮いておらず、ピアノに通じる響きすらあった)、カデンツァがうまい具合にギターソロに対応していた。
- もう少し細部が丁寧なら、完璧になったと思う。あと、カデンツァのアドリブはもう少し自由さやゆらぎが少ない方が良かった気がする(一言で書くと、「少しやり過ぎ感があったかも」)。それがロックギターで、それは好きだけど、曲はロックではないので。: この味付けは なかなか難しいと思う。
- そして、「やっぱりピアノには負けるよなー」と思ったw
- この番組はYouTubeにないようなので、意外に結構貴重なのかも知れない。
- 余談だが、彼の演奏を探したら「天城越え他」(2011)があり、僕も石川のそこら辺の歌は好き(かっこいいと思う)だし、ギターがなかなか気持ちいいので、意外に趣味が近いところがあるのかも知れない。でも、あの髪の毛は邪魔そうだw
- ほんの一瞬を観ただけでつまらないと感じる作品は多い。松田優作は好きだけど、時代劇などはつまらない。
- 生のキャンディーズ(初期)は歌が下手だった・・・ 小泉も。
- 大昔にLDやVHSからPCに取り込んだビデオと同じ作品でHD版などでもあるものがあり、それらを比べるととんでもなく画質が違うので驚く。昔はあんなに小さくてボケボケの映像でも、「LDは綺麗だ」とか言って観ていたものだ・・・ (ボケや画質の悪さは、PCに取り込んだ当時に知識が足りなくて、設定が今一つだったせいもある。VHSの3倍モード的な感じで、ボケ以外にギザギザになっている。)
コメントを書く