あくぽろぐ aqpolog

へなちょこエンジニアの備忘録

WF-1000XM3ミニレビュー

久々にネタがあるので書いていきます。

今話題のWF-1000XM3を購入しました。結構気に入ってるので、以前書いたWI-1000Xと同じような簡易レビューをば。

ちょっとまだ1週間も使ってないので前書いたやつより更に簡易になりますが…

aqpolo.hateblo.jp

簡易レビュー

  • Pros(良い)※比較については体感
    • 音質は個人的には文句なし(ざっくり比較するとMDR-1000X >> WF-1000XM3 >= WI-1000X >> Elite65t >>> WF-1000X(初代))
    • スマホアプリでイコライザー弄れるのも良い(DSEE-HXはいまいちわからん)
    • 本体サイズを考えるとNC性能は極めて強い(MDR-1000X >> WF-1000XM3 >= WI-1000X >>>>>> WF-1000X(初代))
    • 接続性能は左右独立型としては高め(遅延はWF-1000XM3 >> Elite65t、安定性 WF-1000XM3 >= Elite65t >>>>>> WF-1000X(初代))
      • とりあえず満員電車や家電量販店のBTコーナーでもほぼ途切れない
    • 本体のタッチパネル操作はレスポンスよい
    • クイックアテンションモード(左側本体のボタン長押しでNC一時停止して外音取り込みONになるやつ)は便利
  • Cons(イマイチ)
    • NC性能は流石にMDR-1000X比でやや弱い(まあヘッドホン型並の性能だったら驚k(ry )
    • 本体が(左右独立型としては)大柄な部類なので、最適なイヤーピースにしないと耳への収まりが悪い
    • 充電ケースが割と大きい(ケース側のバッテリー容量は減らしてもう少し小さいと良かった)
    • 充電ケース-本体間のマグネットが強め(落としにくいが、やや取り出しにくい)
    • 本体側にボリューム操作がないのはやや不便(FWアップデート対応してくれないかな)
      • どうせならタッチ操作部もう少し広めに取ってスワイプでボリューム操作出来たら完璧かも?

ファーストインプレまとめ

上にもまとめてますが、ちょいちょい地味な不満点はあるけど致命的なものはなく高レベルでまとまっている良品だと感じた。左右独立型で強力なNC機能を搭載しているという唯一無二性(初代WF-1000Xは存在をなかったものとする)を考えるとかなりオススメできる製品だと思います。
逆に言うとなぜ初代でもう少しこれに近いものを出せなかったのか…という感情も抱かざるを得ないけど…(まあ商機とかそういう話があるんだろうな…)

まだ正味で数日程度しか使ってないので、しっかり環境合わせてMDR-1000XやWI-1000Xとガチ比較したりしたいところですね。
筆が乗ったらまた記事にするか、ここに追記するかもしれない。

WI-1000Xミニレビュー

年度末進行やら引越し準備やらで忙しいので簡単に。
WI-1000X(ネックバンド型でアクティブノイズキャンセリング機能搭載したワイヤレスイヤホン)を買ったのでその簡易レビュー。

WI-1000X購入経緯

  1. そもそも通勤中ずっと音楽聞いてる(or動画見てる)タイプ
  2. ここ1~2年はJabra Elite 65t(左右独立ワイヤレスイヤホン)メイン、冬場はSony MDR-1000X(NC搭載ワイヤレスヘッドホン)
  3. 通勤経路が地下鉄に変わる&長時間化で上記どっちも微妙にしっくり来ない環境に
  4. MDR-1000Xの最新機種なWH-1000XM3でもいいんだけど、ヘッドホンだと夏場蒸れて使わないんだよな…
  5. 状態のいい中古WI-1000Xが1.9万弱で売ってたので衝動買い

WI-1000X購入1週間ぐらいの簡易レビュー(ファーストインプレ)

  • Pros(良い)
    • 音質は個人的には文句なし(ざっくり比較するとMDR-1000X >> WI-1000X >> Elite65t)
    • 本体サイズの割にNC性能は強い(個人的には満足 ※WF-1000Xは満足できず売却した過去あり)
    • ネックバンド部にケーブルをはめ込む溝があり、収納時など取り回しが楽
      • 装着時は必要な分だけ溝から外して使うと無駄にケーブルが余ることがなくて良い
    • 外したとき困りがちな左右独立ワイヤレス型と違って、イヤホン部分を外してレジ対応とかしやすい
  • Cons(イマイチ)
    • NC性能がMDR-1000X比でやや弱い(まあヘッドホン型並の性能だったら驚きだが)
    • ケーブルはめ込む溝の全長が短め(イヤホン部+ケーブルが少し余るので持ち運び時のケースは必須かな)
    • 付属するキャリーケースが布製(ハードケースなら尚良かった)
    • タッチノイズフリーではない(必要最低限だけケーブルを溝から外せば抑制はできる)
      • スーツ・ジャケットなら影響ないけど、その上からコート来たりすると襟が接触してタッチノイズ発生することも…

ざっくり上のような感じです。

あとはバッテリー持ちとか、夏場Tシャツの上から付けたら気になりそうだな、とかそういうのはある程度使い込んでからまた書きたい。

unihertz Atomのテザリングが繋がらない場合の対処法

タイトル通りの現象にちょっとハマったのでメモ。

テザリングが一向に繋がらない現象

もう少し詳しく書くと、unihertz Atomテザリングモード(アクセスポイントモード)に設定して、他端末から「ATOM1」に接続しているのに繋がらない! という現象。
AtomはAPモードになってるのに、一向にiPhoneからAPが見えない…AtomiPhoneの再起動などを試してもダメ。

原因は?

unihertzの前機種であるJellyPro時代からある現象らしく、結論だけまとめると2.4GHz帯で特定Ch(チャンネル)になっちゃうとアウト。
「Jelly proテザリング問題 対策編…。」むるきちのブログ | 日々の煮こごり(蛇式) - みんカラ

解決方法

サクッと解決編。2.4GHz帯のChの問題なら5GHz帯使えばよくね?
というわけでアクセスポイントの設定から変更して無事に解決。

設定については下記ブログが画像つきでまとめてあってわかりやすいので参考にどうぞ。
「Unihertz Atom」Android 8.1テザリング設定 | DW230

あとは試してないけどBluetoothテザリングでも回避できるはず
(速度は多少犠牲になるけど、そのかわりバッテリー持ちは伸びる)。

余談

5Ghz帯もChによって屋外利用禁止とかレーダーの影響受ける(DFS:レーダー波受信するとCh強制変更)とか色々あるはずなんだけど、 AtomテザリングどのCh使ってるかの情報ってどこかにあるのかな。
とりあえず自分は屋内でしか使わないから気にしなくても大丈夫そうだけど…


  1. デフォルトのアクセスポイント(SSID)名。

2018年買ってよかったガジェット

2018年買ってよかったガジェット

もう2019年になっちゃいましたが、タイトルままです。特に良かったやつだけまとめます。
普通だったり悪かったりまで書くと2018年の散財っぷりが浮き彫りになるので書かない(真顔

あと写真撮ってからにしよう、と思ってたけど記事が塩漬けになりそうなのでとりあえずアップします。
気が向いたら(余裕があれば)あとで写真は追加するかもしれない。

クラウドファンディング

やや余談だけど、2018年はクラウドファンディングを利用していくつかガジェット類を購入しました。
原則として過去にCF成功しているメーカーのもの、最悪失敗してお金が戻ってこなくても許せる少額のものにしか出資しなかったので、2018年内に届いたものについては特に大きな問題もなく使えています。

CFで出資してみた感想としては、上記ルール外のものに出資するのはやはり(仕組み上仕方ないとはいえ)リスクが高いかなあ、という感じ。
あと出荷が遅れるパターンが多すぎ。事前に書いてあった出荷日程通りに出てくることはまずない。

今やCFは色々サイトがあるわけですが、海外CF(KickstarterやIndiegogo)と国内CF(Makuakeとか)それぞれ使ってみた感想。
国内CFは敷居自体は低いですが、新着一覧とか見ててもゴミみたいなものが一杯出ててそういう意味で敷居が高いですね。まあこれは海外CFでも一緒か。
海外CFは色々敷居が高いけど(ある程度の英語力が必要とか、初期不良あたったときのサポート対応めんどいとか)、そもそもの母数が多いので必然的に物として良いものも多い印象です。海外メーカーが話題集め的にCFに出してるものなんかもあるし(ほぼ失敗リスク0)。

と、余談はここまでにして2018年CF出資してよかったもの(&2018年内に届いたもの)だけ紹介。

unihertz Atom

www.kickstarter.com

Atom | Unihertz

小型タフネスAndroidスマホKickstarterで出資。
もともと同メーカーのJelly Proを面白枠で購入していて(これは確か国内Amazonに出た頃)、
画面サイズ2.45インチだけど思ったより使えるじゃん、となっていたところに出てきたので出資してみた感じ。

  • Pros(いいところ)
    • 小型端末だけどサクサク動く(JellyProより結構スペックアップ)
    • ほぼ素のAndroid(当然GooglePlayも使えるし、日本語で使える)
    • タフネスなので雑に扱っても平気
    • 小型端末にしてはバッテリーが長持ち(2000mAhもある)
    • 小型端末にしては珍しく指紋センサー搭載
    • サイドに有るPTTボタンに色々割当できて便利
  • Cons(悪いところ)
    • 指紋センサーの性能がいまいち
      • 指の置き方が登録時とズレると失敗しまくる。置き方さえバッチリなら認証速度は問題ない
      • 指紋センサーで数回認証に失敗すると指紋でロック解除できなくなる
        • 取り出すときに触れると誤検知するので厄介
    • タフネスの代償として分厚い
    • 画面が小さいので、アプリによってはレイアウトが崩れたりする
    • 知ってたけどNFC対応が日本ではイマイチ
      • FelicaIDm読んだりするカードリーダーとしては使えるので個人的には必要十分
    • カメラの画質はそれなり

文字入力の難易度についてはどちらにも属さないかな、と思ったので入れてない。
小さいので当然打ちづらさはあるけど、小さい割には入力しやすい方だと思う。

総合的には悪くないんだけど、分厚くてポケットに入れるとやや邪魔くさい点がネック。
最近は鞄に放り込んでもっぱらモバイルルータ代わりに使っている。電池持ちが悪くないので結構便利。

Chuwi HiGame

HiGame PC - Affordable high-performance mini PC | Indiegogo

www.makuake.com

超小型ゲーミングPC。Core i5モデルの方をIndiegogoで出資。
IntelのCPUとAMDGPU悪魔合体したチップセットを搭載したWindowsです。
GTX1050~1060ぐらいのグラフィック性能があるとかないとか。
上位のi7モデルはもう少しグラ性能もいいらしいけど、そこまで重たいゲームをやるつもりはなかったので見送り。

  • Pros(いいところ)
    • (i5モデルの場合)CF価格が約9万円だったので、圧倒的なコスパ
    • 本体が小型なので机上にも余裕で置ける
      • ゲーミングノートPCと違ってフットプリントが圧倒的に小さい
      • ついでに既存のディスプレイ資産などが使い回せる
    • ちょっとしたSteamゲームならサクサク動く
  • Cons(悪いところ)
    • ACアダプターがデカイ(個人的にはもっとデカイのも覚悟していたので許容範囲)
    • ファンの音が甲高い(机上に置いた場合気になる)
    • 前面にあるポートがUSB Type-C 1ポートのみ

Steamで見かけた面白そうなゲームが"対応プラットフォームWindowsのみ"って状況が結構あって、
前からちょっと軽めのPCゲームやる用のマシンがほしいな、と思っていたので要件的にはドンピシャでした。これが出る前までは自作で格安ゲーミングPCみたいなのを組むつもりでいたけど、より要件とマッチしたこいつを選んだ感じ。

しかし、Windowsを個人用に購入して自宅で使用するのは何年ぶりだろう。10年ぶり?
仕事ではWin7使ってるので、メインPCとしてWin10だけを使ってる人は気でも狂ってるのかな…と思わされることが稀によくある。MSさんシッカリして!って感じ。WaaSとは…?

CF以外で一般的に購入したもの

CF枠以外のものも抜粋する感じでいきます。

Amazon Echo dot(第2世代)

なんだかんだスマートスピーカーはいくつか持ってるけど個人的に一番お気に入りなのがEcho dotです。
AUX外部出力があるので、PCスピーカーに繋げるのが最高。Amazonミュージック垂れ流すのに便利。

ただ現状だとタイマーとしての利用が一番多いぐらいの使い方しかしてないんですけどね。
他には天気聞いたり、スマートリモコン連携でエアコンや照明のON/OFFしたりとか。

GoogleHomeもminiに変えたいけどフットプリントはそんな変わらないんだよなあ。

新「Echo Dot」「Echo Plus」は何が変わった? 旧モデルと比較してみた (1/2) - ITmedia PC USER
第2世代、もうAmazon上でディスコンっぽくて見当たらないので第2世代と第3世代の比較記事を置いておく。

AppleWatch Series4

ようやく全てがサクサク動くスペックになった、と感じる。 雑なレビュー書いてるので、詳しいことはそっちをどうぞ。

AppleWatch Series4 (GPS, 40mm)購入レビュー - あくぽろぐ aqpolog

これ書いた時点から特に感想は変わってない感じ(最高に気に入ってる、でも値段は高い)。
最近は睡眠自動計測アプリを入れて、充電時を除いた毎日22時間ぐらい付けっぱなしな生活をしてます。

DJI OSMO Pocket

www.dji.com

「GoPro HERO7 Blackの電子手ぶれ補正がすごい?ウチは物理的にジンバルに小型カメラを搭載するぜ!」みたいなコンセプトで出てきた3軸ジンバルカメラです。
ドローンのカメラ部分だけ抽出したみたいな製品(実際DJIはドローンで有名なメーカー)。
起動シークエンスの動画見て購入を決意した というのは半分冗談ですが(半分本気かよ)、360度カメラよりは使い勝手が良さそうなのでダメなら手放すつもりで買ってみました。

  • Pros(いいところ)
    • スマホ用ジンバルに比べると圧倒的に小型軽量
    • 操作レスポンスが良い
      • 起動シークエンスが抜群に格好良い
    • パノラマ撮影モードが思った以上に素敵
  • Cons(悪いところ)
    • 本体に3脚穴(1/4インチネジ穴)や、ストラップホールがない
    • 操作レスポンスはいいが本体モニターは1インチなので視認性は悪い
      • モニターサイズも相まって、本体だけでの操作はややし辛い(スマホを繋ぐと快適)
    • GoPro類に比べると縦長でサイズは大きめ(逆に言えば本体のみで手に持ちやすいのはOsmoPocket)
    • 画角が狭めなので自撮りはやや厳し目(手で持つ限りは、ほぼ顔のアップになる)
    • 同社Osmo Mobileのようなスマホ用ジンバルが1.5万円前後で買えることを考えると4万超は高額

詳細なレビューは後日書こうかな、と思ってる。
年末届いたばかりで、まだ全然活かせてないので真価は不明だけど、とりあえずパノラマモードは良かった。
あと 起動シークエンスは抜群に近未来感あって好き

[Reviews]Vol.26 最小で最高な3軸ジンバルOSMO POCKETに首ったけ!日本最速詳細レビュー[前編] - DRONE | ドローン専門メディア
記事中程に起動シークエンス(起動の様子)の動画がある。

Canon PowerShot G9X

価格.com - CANON PowerShot G9 X 価格比較
物撮り用に中古で購入した、1型センサー積んだいわゆる高級コンデジの1種。

  • Pros(いいところ)
    • 1型センサーなので画質がいい
    • 軽量でコンパクト
    • 起動速度や操作レスポンスが良くストレスフリー。
      • 軽量コンパクトで起動速度が早いのでさっと出してさっと撮る用途に向いている
    • USB充電対応
  • Cons(悪いところ)
    • USB端子カバーが開けにくい
    • 十字キーがなくタッチパネル操作なところ(レスポンスは良いので、慣れれば気にならない)
    • バッテリーの持ちが悪い(旅行先などでヘビーユースしなければ気にならない)
      • そもそもUSB充電対応なので移動中などにモバイルバッテリーで充電すれば解決

とにかく操作レスポンスが良いところが最高。
画質に関しては最近のハイエンドスマホに比べてすごい上か、と言われると微妙な感じがするけど、
やっぱり1型センサーと明るいレンズは自然なボケ感が出せる(より大きいセンサーに比べると控えめだけど)のでいい感じの写真が撮れる。
これも年末頃手に入れてまだまだ活躍シーンが少ないので今後使っていく上で細かい不満点は出てくるかも?

Jabra Elite 65t

Jabraの完全ワイヤレスイヤホン「Elite 65t」が本気でスゴイ! 音声アシスタント完全対応、隙の無い機能と完成度 (1/3) - PHILE WEB
最近流行りの左右独立完全ワイヤレスイヤホン。

  • Pros(いいところ)
    • 接続の安定性が抜群。ほぼ途切れることがない
      • TWSイヤホンでありがちな、瞬断やノイズが人混みでも全然発生しない
      • ユニクロや書店に設置されてる万引き防止ゲート?は強烈なのか途切れる
      • ちなみに家電量販店のBluetoothイヤホン視聴コーナーでは途切れもノイズもない
    • 充電ケースが小さく持ち歩きやすい
    • 通話性能が高い(マイク性能が高い)
    • 外音取り込み機能がある(レジなどで外さずに対応できる)
  • Cons(悪いところ)
    • 充電ケースの蓋がやや開けにくい(慣れればそこまで気にならない)
    • 充電ケースの充電端子がmicroUSB(USB Type-C版のマイナーチェンジケース出して…)
    • 充電ケースがぶ厚めで丸っこい形状なのでポケットに入れるとやや存在感有り
      • 他の有象無象に比べると圧倒的に小柄だが、AirPodsのケースには劣る
    • イヤホン本体がやや大柄(個人的には耳にあっているのか気にならない)

Apple iPad Pro 11"

www.apple.com
文句なしに2018年ベストバイ。

  • Pros(いいところ)
    • USB Type-C端子対応!!!
      • DP-Altモード対応したディスプレイに繋げばケーブル1本で映像出力可能
      • 市販のUSB-C to HDMI変換をかませばHDMI出力も容易(純正アダプター不要)
      • デジカメを繋ぐと画像取り込みモードが立ち上がって便利
    • 圧倒的に薄い
    • FaceID採用でアンロックが楽
  • Cons(悪いところ)
    • 薄すぎて曲がりやすい(剛性が低い?)という噂
      • 人生で1回もイヤホン断線させたことがないレベルで丁寧に物を扱うので気にしてない
    • FaceIDカメラがベゼルに溶け込んでいてうっかり手で覆いがち(当然顔認証できない)
    • 薄すぎてイヤホンジャックがない
      • 本体スピーカーの音が割といい&Bluetoothもあるので個人的にはそこまで気にならない

総評

とりあえず2018年はAppleに貢いだ年になった感がすごかった。
AppleWatch s4、iPhone XS MaxiPad Pro 11"、各種AppleCareなどで30万以上は余裕で貢いでる…

今一番恐れてるのは、2019年モデルのiPhoneがiPadProと同じUSB-C端子採用になったら、
(Care加入して最低2年は使うぞ…という)"決意"を翻して買い替えちゃうかもしれないことですね。
それぐらいUSB-C採用はインパクトある出来事でした。

2019年の豊富

もう少しガジェット散財は控えめに

Youtube-dlで1080p動画ダウンロード手順を簡略化するスクリプトを書いた

かいた。

内容的にはタイトルで全部です。というのも流石に何なので、簡単に説明を書きます。

以前、youtube-dlで1080p画質でDLする手順を簡単にまとめた。

メモ:youtube-dlで1080p - あくぽろぐ aqpolog

実際日常的に使っていて、やっぱり手順が多くてめんどくさい
(そもそもなんで(best)指定で1080pを落としてくれないのか…1)。
というわけで、URL与えたら一発で1080pでDLするところまでやってくれるスクリプトを書いた。

もともとの手順

  1. 対象動画のURLをコピー
  2. コマンドライン上でyoutube-dl -f <URL>を実行
  3. 実行結果から対象(1080p)の動画フォーマットコードと音声フォーマットコードを見つける
  4. 見つけたフォーマットコードを元にyoutube-dl -F <vcd>+<acd> --merge-output-fomart mp4 <URL>のようなコマンドを実行

スクリプト使用時の手順

  1. 対象動画のURLをコピー
  2. コマンドライン上でpython ydl1080p.py <URL>を実行

実行に必要なもの

  • python 3.n (2.7環境でyoutube-dlが動かなくなってるっぽい?ので。動くなら2.nでも多分平気です)
  • youtube-dl 最新版
  • ffmpeg(--merge-output-format利用時に必要)
  • 多少の知識

動作確認は以下環境で実施。他環境の場合はよしなにしてください。

スクリプト(ydl1080p.py)

やってる内容としては、

  1. subprocessモジュールでyoutube-dlを実行、フォーマットコードリストを取得
  2. フォーマットコードリストを単純に一行ずつfindで検索して1080pのビデオフォーマットコード(とオーディオコード)を取得
  3. 取得したコードでyoutube-dl -F <vcd>+<acd> --merge-output-fomart mp4 <URL>コマンドを生成
  4. 生成したコマンドをsubprocessで実行(動画のDL実施)

という単純なやつです。コードも雑なので適当に参考にしてください。

  • 以下コードをテキストファイルにコピペして保存
  • テキストをydl1080.pyなどにリネーム
  • 動画をDLしたいフォルダに置く
  • コマンドプロンプトやターミナルでスクリプト置いたフォルダにcd
  • python ydl1080p.py <URL>を実行
#!/usr/bin/env python3
# last-update:2018/12/06

# import
import subprocess
import sys


class YoutubeDlSupport:

    def __init__(self):
        pass

    @classmethod
    def get_fmt_cd(cls, param_url=''):
        """
        get_fmt_cd: 1080p動画フォーマットを自動判定してDL
        :param param_url: 対象動画のURL
        :return:
        """

        if not param_url:
            print('Need "param_url" option to run this method')
            return

        # command = 'python ayd_sub.py {0}'.format(param_url)
        command = 'youtube-dl {0} -F'.format(param_url)
        with subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) as proc:
            print('youtube-dl return code : {0}'.format(proc.returncode))
            outs, errs = proc.communicate()
            print('outs:{0} errs:{1}'.format(len(outs), len(errs)))

        if len(outs) == 0:
            return
        list_ex = outs.splitlines()
        # list_ex = str_return.readlines()

        # initialize
        audio_fmt_cd = ''
        video_fmt_cd = ''
        best_video_fmt_cd = ''
        p60_fmt_cd = ''
        no_audio_flg = False

        # get 1080p fmt code
        for i, elem in enumerate(list_ex):
            elem = elem.decode()
            if elem.find('m4a') >= 0:
                print('Found audio(m4a) format! On:{0}L -> {1}'.format(i, elem))
                audio_fmt_cd = elem[:3].strip()
                print('"{0}"'.format(audio_fmt_cd))
            if elem.find('x1080') >= 0 and elem.find('mp4') >= 0:
                print('Found 1080p(mp4)! On:{0}L -> {1}'.format(i, elem))
                if elem.find('p60') >= 0:
                    print('Found 1080p60(mp4)!')
                    p60_fmt_cd = elem[:3].strip()
                    print('"{0}"'.format(p60_fmt_cd))
                    continue
                video_fmt_cd = elem[:3].strip()
                print('"{0}"'.format(video_fmt_cd))
            if elem.find('(best)') >= 0:
                print('Found best! On:{0}L -> {1}'.format(i, elem))
                best_video_fmt_cd = elem[:3].strip()
                print('"{0}"'.format(best_video_fmt_cd))
        if not audio_fmt_cd:
            audio_fmt_cd = 'Not found...'
            no_audio_flg = True
        if not video_fmt_cd:
            print('Target video format is not found, so set BEST instead.')
            video_fmt_cd = best_video_fmt_cd
        if len(p60_fmt_cd) > 0:
            print('1080p60Hz video format is found, so set p60 instead.')
            video_fmt_cd = p60_fmt_cd

        # make ydl command
        if no_audio_flg:
            param_f = '-f {0}'.format(video_fmt_cd)
        else:
            param_f = '-f {0}+{1}'.format(video_fmt_cd, audio_fmt_cd)
        video_fmt_suffix = 'mp4'
        param_merge = '--merge-output-format {0}'.format(video_fmt_suffix)
        # param_out = '-o [%(timestamp)s] %(title)s(%(duration)s).%(ext)s'
        # TODO: Windowsの場合は%文字列二重にする必要あり?(要検証)
        # TODO: Linuxの場合はfmt_template部分はクオートで囲む必要あり?(要検証)

        # cmd_fmt = 'youtube-dl {0} {1} {2} {3}'.format(url, param_f, param_merge, param_out)
        cmd_fmt = 'youtube-dl {0} {1} {2}'.format(url, param_f, param_merge)
        # 'youtube-dl <VID or URL> -f nnn+nnn --merge-output-format mp4 -o hogehoge'
        print('Make cmd : {0}'.format(cmd_fmt))
        return cmd_fmt

    @classmethod
    def run_ydl(cls, cmd_ydl):
        if not cmd_ydl:
            print('Need "cmd" option to run this method')
            return
        # call youtube-dl with cmd-args
        print(cmd_ydl)
        with subprocess.Popen(cmd_ydl, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) as proc:
            proc.wait()

# 起動パラメータ取得
args = sys.argv

# インスタンス化
ydls = YoutubeDlSupport()
url = ''
if len(args) > 0:
    url = args[1]
print(url)
cmd = ydls.get_fmt_cd(url)
ydls.run_ydl(cmd)
print('done')

  1. bestを指定した場合、最高画質でDLする仕様となっているが、best=720p止まり