あくぽろぐ aqpolog

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

AppleWatch Series4 (GPS, 40mm)購入レビュー

--目次--

AppleWatch Series4買った

ブログリハビリ(?)がてら、簡単に感想を書く。そろそろ買ってから3週間ぐらい使い込んだので。

AppleWatch遍歴

  • 2015年 無印1:38mm Sportモデルを購入
  • 2016年 Series2:発表されるもスルー
  • 2017年 Series3:38mm アルミ GPSモデルを購入
  • 2018年 Series4:40mm GPSモデル購入

悩ましいSeries3→Series4の買換え

Series3とSeries4の違い(ピックアップ)

  • 画面の大型化(30%UP。狭ベゼル化のため本体サイズはほぼ据置き)
    • 専用WatchFaceのInfographとInfograph Modular追加
  • 本体少しだけ薄型化(11.4mm→10.7mm)
  • Digital Crown(竜頭)に振動フィードバック追加
  • プロセッサが最大2倍高速
  • 心拍測定アプリ(ただし現状日本で使えない2
    • 転倒センサー(こっちは日本でも使える)
  • 定価が1.4万円UP(約5万)

一瞬だけ「果たしてこの差に5万弱の価値はあるか?」と自問自答したけど、あんまり悩まずにGPS 40mmモデル購入することに決定。狭ベゼル化はでかい。

GPSモデルなのはメインSIMがワイモバイルでCellularモデルに対応してないため。 40mmなのは手首サイズと重さ、38mmモデルのバンドが流用できるとかその辺の理由。

実際にSeries4使ってみて(使用期間3週間ほど)

一言でまとめると5万は高いなあ、と思うけど満足度はすごい高い。あくまで個人的にだけど、不満点は値段だけかな。
無印~Series2の人はそれ投げ捨てて即座に買い換えるべき、Series3の人は中古売却に抵抗がないなら今すぐドナドナして買い換えるべき、ぐらいにはいいです、Series4。

  • 画面(表示領域)が大きい
    • 単純に見やすい(S4の40mmは、S3までの42mmと同じぐらいのサイズ感)
    • パスコード入力しやすい3
    • 情報量多いの好きなので、S4専用WatchFaceのInfographとInfograph Modularは最高
  • 本体が薄い!
    • 僅かな違いだけど装着感が良くなった
  • プロセッサ最大2倍高速:アプリがサクサク起動する
    • S4にしてようやく「いろんなアプリを使い分ける」気になる速度になった、とも言える
      • 初代:もっっさり(起動待ってる間に諦める。アプリは使えたもんじゃない)
      • S3:ややもっさり気味(アプリがタスクキルされてると待たされる)
  • 電池持ち
    • 公称ではS3と同等らしいけど、1年使ってS3がヘタっていたのかむしろ良くなった気さえする
    • 自分の普段の使い方だと1日半(2日目の夕~夜)ぐらいは充電無しでも行けそうな感じ
  • 値段
    • やっぱ5万は高い。今回はAppleCareを付けたので5.8万ぐらい。貧乏人なのでキツイ
    • 腕時計として見ればそこまで高級なわけじゃないんだけど毎年のように買い換えるのはキツイw
    • 今回はAppleCare付けたので最低でも2年は使いたい
      • 来年Series5買いました!記事を書いてないことを祈る

あと、最初の何日かS4を着けて外出、帰宅したら充電台に置いてその間S3を着ける、って生活をしてみたけどシームレスにデータ同期されてちょっと感動した(付け替えるとアクティビティの数値がちゃんと反映される)。

Series3とSeries4の外観比較

写真はもうニュースサイトやらでたくさん出てるので省略。

ひと足先にApple Watch Series 4を触って確信。予想を大幅に上回るフルモデルチェンジだった(本田雅一) - Engadget 日本版

パスコード入力画面の比較はパッと見でディスプレイサイズの違いがわかりやすいと思う

Apple Watch Series 4は手首に巻き付けるAI。実機を試してわかったこと(松村太郎) - Engadget 日本版

こっちは裏面の比較を見てほしい。
裏面、尋常じゃないぐらいデザインがかっこよくなった(普段お目にすることはないのだけど)。外して充電するときにわざわざひっくり返して眺めるぐらいには気に入っている笑

他人におすすめできるか

こっからは余談。

意外と一般人にも「それiWatch?」「それAppleの時計のやつ?」「それAppleWatch?」とか認知されていて4 、その次に「便利?」ってよく聞かれる。

正直便利かと言われるとすごい微妙で、少なくともS3までは普通の人には薦めにくい出来だったと思う。S4にしてようやく(ガジェットオタクやAppleオタクでないがiPhoneを使っている)普通の人にも薦めてもいいかな、って感じがしてきた。
ただまあ高い(5万する)ので、元々腕時計に割とぽんとお金出せる人でないとおすすめできないからハードルは高いままなんだけど。

AppleWatchって何が便利なの?

じゃあ実際何が便利で何が不便なの?ってのをまとめておきたい。今後人にそう聞かれたときにサクッと答えれるように。

  • Pros(便利)
    • 時間を知るのにiPhoneを取り出す必要がない
      • 特にPlus系やXS Max使ってる人は便利
    • 通知を見てiPhoneを取り出す(対応する)かどうか判断できる
      • 通知の種類によってはAppleWatch単体で即応もできる
      • LINEとかSMSとか(設定した定型文で返信したり)
    • マナーモード中で着信に気づかない確率が激減する
      • iPhoneをポケットに入れて歩いてるときは着信のバイブ気づかないことがある
      • AppleWatchなら腕で振動するので流石に気づく
    • 腕に装着中はMacのロックを解除できる
    • ApplePayで支払いできる(コンビニとか便利)
      • Suica定期も設定できるけど、右利き/左腕装着だと改札通りにくい
    • 手元にタイマーがあるのが生活の節々で便利
      • カップラーメンタイマーは最近GoogleHomeに役目を奪われがち
    • iPhoneカメラのリモートシャッターになる(自撮りや集合写真に便利)
      • AppleWatchに映像表示されるので構図の確認もできる
    • 乗換案内系アプリ入れれば「次の電車まで何分何秒」とか表示できる
    • アクティビティトラッカー機能はビジュアル的にも楽しい
      • デスクワーカーなので特に1時間に1回の起立を促してくれるスタンド機能は嬉しい
      • 最近Standlandアプリを入れた。かわいい。
  • Cons(不便)
    • ディスプレイが常時表示じゃない&腕をひねらないと表示されない
      • 個人的には、つり革握ってるとき表示できない以外だと困ってない
      • その場合は画面タッチもしくはサイドボタン/Digital Crown操作が必要
    • バッテリーが1日~1日半ぐらいしかもたない
      • これは専用充電スタンド用意して毎日外すときにそこに置けば気にならない
      • 寝るときも(睡眠計測アプリ使いたくて)外せない人はうまく継ぎ足し充電するしかない
    • 画面が小さいので、文字入力系は流石に苦手
      • 音声入力がUIとして用意されていることも多いが、外で使えるかというと…
  • その他
    • Cellularモデル5なら単体でいろいろ出来る(iPhoneが手元になくても電波さえ入れば)
      • これは使い方によって便利具合が異なるし使ったことないのでその他で
      • iPhoneと同じ番号から電話かけたり、ランニング経路GPS記録したりとか
      • 通常のMVNOは仕組み的にキツイにしても、フルMVNOIIJとか、MNOなワイモバイルとかはAppleWatch(のeSIM)対応追従してほしいなー

→→→ もうちょっと簡潔にVer

  • 便利
    • 一々iPhone取り出して確認する必要がない
    • ApplePayの支払いとかリモートシャッターとかが便利
  • 不便
    • バッテリーが1日半しか持たない
    • 値段が高い

総括

AppleWatch Series4はいいぞ


  1. Series1が出たのは2016年(より正確には無印のマイナーチェンジがs1)

  2. 日本の医療機器認証の制度的に。現状では、といいつつ多分無理じゃない?レベルだとかなんとか。

  3. そもそもペアリング相手のiPhone側でロック解除すると連動して解除できるのであんまり入力機会は多くないけど、便利なのは確か

  4. 多分、"AppleWatch"の名称を認識している人はそれなりにAppleファンだと思う。圧倒的に"iWatch"?って聞かれる。

  5. メインiPhoneau/Docomo/Softbankの3大キャリアである必要有り

Googleスプレッドシート上で短縮URLを展開する[Google Apps Script]

ブログスモールスタート第3段。
やや前置き長め。

--目次--

Twitterでの情報収集

情報収集ツールとしてのTwitterはなんだかんだ優秀だと思っていて、
ニュースメディアのアカウントをフォローしておけば気になる記事を割とタイムリーに見ることができるし、
そうでなくても思いも寄らない情報をたまたまTL(タイムライン)で見つけた!みたいなこともまあまあよくある。
※この辺は個人のフォローの仕方にもよるだろうけど…

ただ、その場で読むまでもないかな、とか後でじっくり読もう、みたいな情報も結構ある。
そんなときに使われるのが公式ならいいね(かつてのFav)機能だし、
非公式クライアントなら「あとで読む」に対応しているものも結構ある。

あとで読む(Pocket)

「あとで読む」サービスはざっくり言えば、文字通り何らかの情報をあとで読むために使うサービス。
あとで読むサービスにURLを追加してあげると、それをリストとして保存してくれる。
※保存されたURLをパースしていい感じに本文だけ表示する機能とかもあるけど本題ではないので省略。

現状生き残っている「あとで読む」サービスだとPocketとInstapaperがメジャーどころ。
API対応しているアプリなら、URLを選択して「あとで読む」してあげれば追加できる。
他にもブラウザの機能拡張、ブックマークレットなんかからURLを追加する事もできる。

https://getpocket.com/getpocket.com

www.instapaper.com

あくぽろ流情報収集術

あくぽろ流情報収集術としてはTwitter&Pocketで上記のことを実践している。

Twitterクライアントは公式アプリではなく、非公式クライアントアプリの「feather」を愛用している。
Pocketのみだが「あとで読む」対応していて、URLを長押しすると追加することができる。
また、これは今の所featherしかできるアプリを知らないのだけど、"TweetそのもののURL"を追加できる。

流れとして、

  1. featherでTL見ている途中で面白そうな記事のURLを見つけた!
    1. 後でじっくり読もう→feather上でURLを長押しして「Pocketに保存」
    2. 内蔵or外部ブラウザで開いてちょっと中身を読む→後でじっくり読もう→ブラウザ上で「Pocketに保存」
  2. featherでTL見ている途中で面白そうなツイートを見つけた!
    1. スワイプメニューから「…」アイコンを選択→「Pocketに保存」※カスタマイズしてPocket保存アイコン追加も可能

みたいに収集して、あとで自宅PCのブラウザで確認する、といった感じで使っている。

ちょっとしたTIPSを紹介したツイートとか、Fav...いいねを辿るより、
こっちのほうが集約できていい感じなのでfeatherのツイート自体を保存できる機能は重宝している。

ちなみにPocketのスマホアプリを入れておけば、公式アプリでもTL上のURL長押しから
iOS共有シート表示→共有シートからPocketアイコン1 をタップして追加できる。 Androidは知らないけど多分似たような感じでできるはず。

憎いt.co

収集方法はさておき、ようやく本題に入る。

featherからURLをPocketに追加すると、twitter短縮URLであるt.co形式で保存されてしまう。
それ自体はまあ仕方ないのだけれど、職場でPocket上に保存した記事を参照したい時にそのまま開こうとすると、
Firewallバッチリの弊社だとTwitter(とその短縮URLであるt.co)は遮断されてしまう。

見たいのは技術情報が書いてあるブログとかであって、
Twitterではないのに間に短縮URLという形でt.coが挟まってるせいで一発では開けない。

それはめんどくさい。めんどくさいはエンジニアの敵だ(持論)。
じゃあ短縮URL(t.co)の転送先を取得して、そっちを見よう。
でも、t.coそのものにアクセス出来ないんじゃ無理では? わざわざ自宅でやっておくのか?2
そうだ、Google Apps Scriptでスクレイピングできるって聞いたことあるしそれならやれるのでは?
という発想のもとに出来上がったのが下記スクリプト

Googleスプレッドシート上で短縮URLを展開する[Google Apps Script]

作業の流れ

  1. PocketからURLをエクスポートする。(HTML形式)
  2. 取得したHTMLの中を見ると<li>で列挙されてるだけだったので、適当に整形3してCSV
  3. CSVGoogleスプレッドシートにインポート
  4. スプレッドシート上で「スクリプト」を選択してスクリプトエディタを起動。
  5. myFunctionを適当な名前にリネームして短縮URLの転送先を取得する関数(expandURL)を作成
  6. 保存して、スプレッドシートに戻る。適当なセルに=expandURL(URLの書かれたセル)を入力して実行
  7. expandURLで展開されたURLが入手できる
  8. フィルタ機能などでt.coドメインだけ抽出して一気に実行
  9. すべて展開出来たら対象列をコピーして、Ctrl+Shift+V(値のみ貼り付け)で上書き
  10. CSVでエクスポート。

※9は再度スプレッドシートを開いたときに不用意に数百~数千回expandURL再実行されるのを防止するため

GAS(Google Apps Script)のコード

function expandURL(url) {
  //var url = 'https://t.co/qSZ4Aj0o4A'; // テスト用
  var options = {"method" : "GET","followRedirects" : false, 'muteHttpExceptions': false};
  Utilities.sleep(1000) // 1sec wait
  var redirect_url = UrlFetchApp.fetch(url,options).getAllHeaders()[ 'Location' ];
  //Logger.log(UrlFetchApp.fetch(url,options).getAllHeaders().toSource()); // テスト用header全表示
  Logger.log(redirect_url); 
  return redirect_url
}

今後の展望

これを機に古いURLや昔何でもかんでも突っ込んだURLを処分・整理したいナーとなっているので、
pythonのpandasで色々して分類整理とか404なURLの削除とかをしたい(というか仕掛中)。

google colaboratoryを使うとpythonが動かせるのでそっちでやれば一貫してるかなーと思うんだけど、
GAS接続がめんどくさい(authやって接続して…)ので、
それならCSVローカルに落として普通に加工したほうが早くない?ってなってるところ。


  1. (参考)共有シートにアイコンがない場合:iPhoneでシェアシートを編集する方法──共有アイコンの追加/削除/並び替えでストレスフリーに | アプリオ

  2. そもそも職場で関係のないURL巻き込んでやるなよ、って書いてて思ったけどまあ職場だとその判別もつかないし…いいか!

  3. 適当なテキストエディタで余分なタグを一括置換したり、パーサー使うなり。

python3のloggerでミリ秒を使う、他

ブログスモールスタート第2段。

最近pythonの勉強を始めて、
ロギングには標準モジュールのlogging.loggerを使え!ってのはわかったのだけど色々苦労したのでその辺をメモ。
へなちょこエンジニア(コピペプログラマー)レベルなので、Python初学者で詰まってる人には参考になるかもしれない。

loggerとは

基礎的なところは公式ドキュメントを参照>Logging HOWTO — Python 3.6.5 ドキュメント

まあ一応ざっっっくり説明しておくと、

  1. logging.loggerをセット(ログの取得元を設定)
  2. handlerをセット(出力先を設定)
  3. loggerにhandlerをセット(紐づけ)
  4. print('debug: hogehoge')していたところを、logger.debug('hogehoge')に変える
  5. logger.error('hogehoge!!')みたいに重要度でレベル分けできる

といった感じで使える。
loggerに対してhandlerを複数セットしたりできるので、標準出力とファイル出力同時にするのも簡単。

フォーマッタでミリ秒/ナノ秒を使いたい

handlerに対しては、formatterを設定できる。
デフォルトだと(asctimeに対して)%Y-%m-%d %H:%M:%S形式がセットされているので、
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') だと
2005-03-19 15:10:26,618 - simple_example - DEBUG - debug message みたいに返ってくる(公式ドキュメントから引用)。

この日付形式に不満がなければそのままでもいいのだけれど、1984/01/24 17:00:56.999形式にしたい。
最初にドキュメントとかを見てdatefmtにstrftimeの形で指定してあげればいいっぽいので次のコードにしたがエラー。
logging.Formatter('%(asctime)s [%(levelname)][%(name)s] %(message)s',datefmt='%Y/%m/%d %H:%M:%S.%f')
%fがだめらしい。 ※今ドキュメントよく見たらpython3.6のstrftimeに%fない?…2.xの方の情報見てたかな

解決法:次のコードを使う
logging.Formatter('%(asctime)s.%(msecs)-3d [%(levelname)-7s][%(name)s] %(message)s',datefmt='%Y/%m/%d %H:%M:%S')
datefmtでは秒まで。(msecs)でナノ秒が取れるので、それを左揃え3桁パディングしてあげればミリ秒が取れる。

独自のLogRecord属性

ログに関数IDや処理中ファイルみたいなのを出したい場合、
これをいちいちlogger.info('[XX-YY-Z001] hogehoge with [sample.csv]')とか

functionId = 'XX-YY-Z001'
filePath = 'sample.csv'
…(略)…
msg = '[{0}] hogehoge with [{1}]'.format(functionId,filepath)
logger.info(msg)

としてもいいけど、書式がズレないように気を使うのがめんどくさいし、
途中で書式変えたくなった時死ぬほどめんどくさい。絶対ヤダ。

というわけで色々調べると、extraオプションで独自設定ができるらしい。
logging.Formatter('%(asctime)s.%(msecs)-3d [%(levelname)-7s] [%(functionId)s] %(message)s with [%(file)s]',datefmt='%Y/%m/%d %H:%M:%S')
みたいに、LogRecord属性にない(functionId),(file)をフォーマッタ時点で入れておく。
logger呼出時に、logger.info('hogehoge',extra={'functionId':'XX-YY-Z001','file':'sample.csv'})とか

functionId = 'XX-YY-Z001'
filepath = 'sample.csv'
ex = {'functionId':functionId,'file':filepath}
…(略)…
logger.info('hogehoge',extra=ex)

してあげれば(extra引数に辞書形式で渡してあげれば)OK。

ただしこのやり方だと、logger呼出時に(functionId)や(file)がないとか、extraオプション自体がないとエラーになってしまうのでそれはそれでめんどくさい。
LogAdapterとやらをなんとかすれば解決できそうな気がするけど、とりあえず現状はここまで。

実際に書いたコード的なもの

適当に改変してるけど大体上記のことを反映したlogger生成関数。

def set_logger():
    from logging import (getLogger,StreamHandler,FileHandler,Formatter,
                         DEBUG,INFO,WARNING,ERROR)
    from datetime import datetime as dt
    import os

    # const的ななにか
    LOGLEVEL = 'DEBUG'
    BASEPATH = os.path.dirname(os.path.abspath(__file__))

    # パス、ファイル名設定
    LOGPATH = BASEPATH + '/log/system_' + dt.now().strftime('%Y%m%d') + '.log'

    # logger設定
    logger = getLogger(__name__)
    logger.setLevel(LOGLEVEL)

    # handler設定
    # フォーマット設定
    handler_format = Formatter('%(asctime)s.%(msecs)-3d' +
                               ' [%(levelname)-7s] [%(functionId)s]' +
                               ' %(message)s with [%(file)s]',
                               datefmt='%Y/%m/%d %H:%M:%S')
    # 標準出力
    stream_handler = StreamHandler()
    stream_handler.setLevel(LOGLEVEL)
    stream_handler.setFormatter(handler_format)
    # ファイル出力
    file_handler = FileHandler(LOGPATH,'a',encoding='utf-8')
    file_handler.setLevel(LOGLEVEL)
    file_handler.setFormatter(handler_format)

    # loggerにhandlerセット
    logger.addHandler(stream_handler)
    logger.addHandler(file_handler)

    return logger

# 呼出時
functionId = 'XX-YY-Z001'
filepath = 'sample.csv'
ex = {'functionId':functionId,'file':filepath}

logger.info('hogehoge',extra=ex)

メモ:youtube-dlで1080p

作ったはいいが使ってなかったブログを真面目に始めよう、でもめんどくさいしな…
というわけでスモールスタート(?)していく。

--目次--

youtube-dlで1080p動画を手に入れる

youtube-dlで1080p動画の落とし方がわからなかった&情報が少なかったので備忘録兼ねて書いておく。
youtube-dl自体の導入とかは省略。なお執筆時の環境はMacOS 10.13.5+Python2.7.10+youtube-dl 2018.06.25。

そもそもyoutube-dl <URL or ID>すると、勝手に最高画質を落としてくれるんだけど、
このときの最高=720pということらしい。
※公式Webプレーヤー上で1080pあることが確認できる動画でも720pになる。
1080pで落としたければformatを指定してあげる必要がある。

→ ちょっと手順を簡単にするpythonスクリプトを書いて記事にしたのでそちらもどうぞ

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

やり方

youtube-dl <URL or ID> --list-formatsすると対象動画のフォーマット一覧が表示される。

hogehoge:~ aqpolo$ youtube-dl --list-formats unmG7ewXE1M
[youtube] unmG7ewXE1M: Downloading webpage
[youtube] unmG7ewXE1M: Downloading video info webpage
[info] Available formats for unmG7ewXE1M:
format code  extension  resolution note
249          webm       audio only DASH audio   54k , opus @ 50k, 610.70KiB
250          webm       audio only DASH audio   72k , opus @ 70k, 805.79KiB
140          m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2@128k, 1.62MiB
171          webm       audio only DASH audio  135k , vorbis@128k, 1.48MiB
251          webm       audio only DASH audio  145k , opus @160k, 1.57MiB
278          webm       256x144    144p  105k , webm container, vp9, 30fps, video only, 1.06MiB
160          mp4        256x144    144p  111k , avc1.4d400c, 30fps, video only, 827.60KiB
242          webm       426x240    240p  222k , vp9, 30fps, video only, 1.94MiB
133          mp4        426x240    240p  245k , avc1.4d4015, 30fps, video only, 1.58MiB
243          webm       640x360    360p  407k , vp9, 30fps, video only, 3.54MiB
134          mp4        640x360    360p  634k , avc1.4d401e, 30fps, video only, 4.32MiB
244          webm       854x480    480p  754k , vp9, 30fps, video only, 6.31MiB
135          mp4        854x480    480p 1165k , avc1.4d401f, 30fps, video only, 8.51MiB
247          webm       1280x720   720p 1500k , vp9, 30fps, video only, 12.88MiB
136          mp4        1280x720   720p 2339k , avc1.4d401f, 30fps, video only, 16.42MiB
302          webm       1280x720   720p60 2647k , vp9, 60fps, video only, 21.64MiB
248          webm       1920x1080  1080p 2736k , vp9, 30fps, video only, 23.87MiB
298          mp4        1280x720   720p60 3474k , avc1.4d4020, 60fps, video only, 28.83MiB
137          mp4        1920x1080  1080p 4400k , avc1.640028, 30fps, video only, 31.06MiB
303          webm       1920x1080  1080p60 4434k , vp9, 60fps, video only, 39.12MiB
299          mp4        1920x1080  1080p60 5788k , avc1.64002a, 60fps, video only, 52.93MiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k, 1000.05KiB
36           3gp        320x180    small , mp4v.20.3, mp4a.40.2, 2.72MiB
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k, 7.64MiB
43           webm       640x360    medium , vp8.0, vorbis@128k, 9.68MiB
22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)

こんな感じでaudioとvideoそれぞれ解像度やコーデック別に出てくる。※(best)が付いている22番が自動時の最高画質(720p)
目的のformat-codeを次のように指定してあげれば良い。
youtube-dl <URL or ID> -f 299+140 --merge-output-format mp4
これでうまくいく、かと思いきや生成されたファイルがaudioとvideoで別々になってしまった。
どうやら--merge-output-formatは場合によってffmpegかavconvが必要らしい。
ffmpegを入れて再実行したら無事に目的の1080p動画が出来上がった。
※この辺の画面出力はメモし忘れたので省略

hogehoge:~ aqpolo$ youtube-dl -f 299+140 --merge-output-format mp4 unmG7ewXE1M
[youtube] unmG7ewXE1M: Downloading webpage
[youtube] unmG7ewXE1M: Downloading video info webpage
[download] Destination: 「ACE COMBAT(TM) 7 - SKIES UNKNOWN」E3 2018出展用トレーラー-unmG7ewXE1M.f299.mp4
[download] 100% of 52.93MiB in 00:02
[download] Destination: 「ACE COMBAT(TM) 7 - SKIES UNKNOWN」E3 2018出展用トレーラー-unmG7ewXE1M.f140.m4a
[download] 100% of 1.62MiB in 00:00
[ffmpeg] Merging formats into "「ACE COMBAT(TM) 7 - SKIES UNKNOWN」E3 2018出展用トレーラー-unmG7ewXE1M.mp4"
Deleting original file 「ACE COMBAT(TM) 7 - SKIES UNKNOWN」E3 2018出展用トレーラー-unmG7ewXE1M.f299.mp4 (pass -k to keep)
Deleting original file 「ACE COMBAT(TM) 7 - SKIES UNKNOWN」E3 2018出展用トレーラー-unmG7ewXE1M.f140.m4a (pass -k to keep)

うまくいくと上の感じで映像と音声が結合されたmp4がgetできる。

今回はここまで。

参考URL

公式のREADME
github.com 日本語でのオプションまとめ
d.hatena.ne.jp えーすこんばっとせぶん
www.youtube.com