俺の外付けHDD

外付けHDDではなくはてなのサーバーラックの中でした

iOS11の問題点と対処法まとめ

iOS11が正式リリースされ画面収録機能等様々な新機能や変更点があり,ちょっとワクワクしてました。しかし,かなり注意点がありそうです。

コントロールセンターでWi-Fiをオフにできないため,セキュリティやバッテリー面で問題が生じる

今までコントロールセンターでWi-Fiマークをタップするとオンオフできました。しかしiOS11で"オン"と"オフ"に加え"未接続"という表現が追加され,コントロールセンターでは上手くWi-Fiを"オフ"にできなくなりました。Appleは物理キーボードやコネクタを無くしたり,64bitアプリケーションしか動かないようにしてやる気が無いアプリケーションを使えなくしたりと面白いことをします。これらはその時は不便かもしれませんが取り返しがつくもので,また新たなものを生み出します。しかし"オフ""未接続"などと曖昧で分かりにくい表記で勝手にセキュリティがガバガバなフリーWi-Fiを掴まされる,これは"フリーWi-Fiのセキュリティが向上するキッカケになるかも"という以前に取り返しのつかない"個人情報が危険に晒される"という事態が起こる可能性があるためよろしくありません。全くもっておせっかいな改悪です。
――と思ってる人は調べて対処し,今まで通りトグルはデフォルトのままで何も考えずフリーWi-Fiを使う大多数にとっての利便性は向上する,という意味では"改善"になるのかもしれません…(泣)
Wi-Fiの"オフ"と"未接続"って何が違うの?と思うかもしれませんが,以下をご覧下さい。

初期状態はモバイルデータ通信,Wi-Fi,Bluetoothがオンの状態。4つのアイコンの間辺りを長押し又は強押しすると詳細がポップアップする。

機内モードにするとモバイルデータ通信,Wi-Fi,Bluetooth"オフ"になる。この時マークは透明になり,斜線が引かれている

さあ今から外出だ。機内モードを解除してみる。ってなんでまたWi-FiBluetoothも"オン"になるんだよ(╬^ω^)

Wi-FiBluetoothを"オフ"にしようと試みる。先程まで接続していたWi-Fiとの接続が解除されたとのメッセージが表示される。Wi-Fi,Bluetooth共に"未接続"になっている。この時マークは透明になり,斜線が引かれていない

設定を確認する。Wi-Fi,Bluetooth共に接続を切断しただけで,"オフ"になっていない。この状態ではiPhoneWi-FiBluetooth機器を探し続けるためバッテリーを浪費し,フリーWi-Fiが見つかった場合はたとえセキュリティがガバガバなWi-Fiスポットであっても勝手に接続されてしまう。

Wi-Fi,Bluetooth共に"オフ"にする。

モバイルデータ通信は"オン",Wi-Fi,Bluetoothは"オフ"という外出先モードになった。やっと出掛けられる。

対処法

一々設定まで行くのは面倒なのでもっと簡単な方法は無いかと探ってみた。
①上記内容を行った後,必ず以下の順番を守って切り替える。ただこの方法ではWi-Fiとモバイルデータ通信の共存は出来ない(設定が戻ってしまう)。
Wi-Fiに切り替えるとき
機内モードオン->Wi-Fiオン(画像の左から右)
・モバイルデータ通信に切り替えるとき
機内モードオフ<-Wi-Fiオフ(画像の右から左)

②Siriに頼む

③今のところ結局設定で切り替えるしかない。3D Touchだと少し楽かも?

アプリ内ブラウザでCookieをブロックできない

今まではSafariがプライベートモードになっていればTwitter等のアプリ内ブラウザでもそれが適用されサードパーティCookie等をブロックできた。しかしiOS11になってからCookieはブロックするかしないかの2択になってしまい"サードパーティCookieだけブロック"することは出来なくなった。更にアプリ内ブラウザではプライベートモードが適用されないゴミ仕様になった。まあ広告あってのインターネットですからね…(大泣)
設定->SafariですべてのCookieをブロック。しかしログイン情報までも記録されないのでもはやChromeと同じである。

設定->Safari->詳細->WebサイトデータでCookieを確認できる。キュレーションサイトやいかがわしいページ等を開くとどっと増える。それだけ無駄な通信をしているというわけだ。
上記設定後,Safariから当ブログにアクセスしてみる。ちゃんとブロックされてる。

次にアプリ内ブラウザでアクセス。ブロックされていない

対処法

アプリ内ではリンクを長押しして共有メニューを開きsafariで開く。予めsafariはプライベートモードにしておくこと。

icloudの写真同期にモバイルデータ通信が使われ通信制限になってしまう

デフォルトがこれって流石に誰も得しないのでは…と思ったが,

ってApple正規代理店に持ってく人にとってはメリットなのかもしれない…(号泣)

対処法

設定->写真->モバイルデータ通信でモバイルデータ通信をオフ

iPhone7以降ではデフォルトが写真はJPEGからHEIF,動画はH.264からHEVCになり,非対応アプリでトラブルが起こる

HEVCのデコードの動作条件(≒再生) iOS macOS
8bit ハードウェアデコード A9チップ 第6世代Intel Coreプロセッサ
10bit ハードウェアデコード A9チップ 第7世代Intel Coreプロセッサ
8bit ソフトウェアデコード 全てのiOSバイス 全てのMac
10bit ソフトウェアデコード 全てのiOSバイス 全てのMac
HEVCのエンコードの動作条件(≒変換,書き出し) iOS macOS
8bit ハードウェアエンコード A10 Fusionチップ 第6世代Intel Coreプロセッサ
10bit ソフトウェアエンコード - 全てのMac

参照:https://developer.apple.com/videos/play/wwdc2017/511/

つまり,iPhone7以降でないと設定->カメラ->フォーマットの設定項目が現れないのはハードウェアでHEVCをエンコードするにはA10 Fusionチップ以上が必要なためである。
でどうやら容量削減というより容量を抑えつつ品質を向上する方向性らしいのでHEIF,HEVCの方が品質が良いっぽい。 ただ,スマホの小さい画面じゃ分からないし,デコードもエンコードも負荷はH.264よりHEVCの方が大きいし,SNSにうpしたら結局再エンコされてしまうため一般的な用途ではメリットは無いので互換性優先にしておくと良いだろう。
GoogleフォトがHEIF,HEVCに対応したようなので,高効率モードもアリかもしれない。しかしWindows10rs2でもHEIFには対応しておらず,HEVCを扱うにはある程度の知識とマシンが必要なので,特に拘りのない方はH.264にしておくことをオススメする。4K60fpsはHEVCのみの対応となっているので注意。

対処法

要するに基本的に"互換性優先"にしとけってこと。

・高品質と言われるとHEVCが気になる…でも編集ソフトにぶち込んだら全然動かない…どうすればいいの?って方へのヒント
ffmpegを使って変換してから編集ソフトにブチ込むといいぞ。ただ古いCPUやQSVが使えないとキツイかも…

ffmpeg -i input.mov -c:a copy -c:v h264_qsv -q:v 0 out.mp4
ffmpeg -i input.mov -c:a pcm_s16le -c:v rawvideo out.avi

画面収録で録画した動画をSNSにうpしたり編集ソフトにブチ込むと音ズレする

iOS11で追加された画面収録機能は設定->コントロールセンター->コントロールをカスタマイズでコントロールセンターに追加し,ボタンをタップすることで録画出来る。マイクの音を入れるには長押し又は強押しでポップアップメニューから選ぶ。

しかし,折角プレイ動画等を録画しても,いざSNSで共有しようとしたら音ズレが酷い…(ナイアガラの滝)なんて事がある。今回の画面収録機能はiOS9で追加されたReplay Kitと同じく標準のCFR(固定フレームレート)ではなくVFR(可変フレームレート)のため,VFRに対応していないアプリケーションで変換した場合,音ズレしてしまう。フレームレートとは1秒間あたりのコマ数であるが,VFRは平均すると中途半端なフレームレートになる。

実際に録画してみた動画の情報を確認してみる。今回使用したのはffmpegに付属のffprobe。

ffprobe C:\Users\Shibanyan\Desktop\CMCF4374.MP4

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Shibanyan\Desktop\CMCF4374.MP4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp41mp42isom
    creation_time   : 2017-09-28T12:22:35.000000Z
  Duration: 00:00:36.94, start: -0.021814, bitrate: 2827 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 750x1334, 2756 kb/s, 39.45 fps, 59.94 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      rotate          : 90
      creation_time   : 2017-09-28T12:22:35.000000Z
      handler_name    : Core Media Video
    Side data:
      displaymatrix: rotation of -90.00 degrees
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 64 kb/s (default)
    Metadata:
      creation_time   : 2017-09-28T12:22:35.000000Z
      handler_name    : Core Media Audio

映像はH.264のHighプロファイル,色空間はyuvj420p,解像度はiPhone6なので750x1334(これを90°回転させた映像になっている),厳密には縦横比は16:9ではない,映像ビットレート2756kbps(そこそこの情報量),39.45fps(あっ…VFR…)

音声はAAC-LC,41000Hz,ステレオ,64kbps?!oh…これはようつべとかを録画して保存♪とか考えてる人は涙目ですね。私には関係ありませんが。因みにようつべの動画の音声ビットレート(情報量)は最近は128kbpsくらい(AAC-LCじゃなくてopusなので正確に比較することはできない),iTunesで売ってるのは256kbps,CDは1411kbpsなので何が言いたいかって言うと画面収録はあまり音質は良くないよ。

対処法

iMovieで再エンコードする

iMovie->"ビデオ"タブ->録画したビデオを選択(ここでカットして読み込んでも良い)->共有ボタンをタップ->ムービーを作成

②完了ボタンをタップ(ここでカット編集をしても良い)

③共有ボタン->ビデオに保存->720p(機種によってはもっと高解像度が選べるかもしれない。ただし,Twitterにうpする場合は720p。)

本当に上手く行っているのか動画の情報を確認してみる。

ffprobe C:\Users\Shibanyan\Desktop\PFYL4432.MOV

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Shibanyan\Desktop\PFYL4432.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2017-09-28T12:24:47.000000Z
    com.apple.quicktime.artwork: リ
  Duration: 00:00:36.93, start: 0.000000, bitrate: 4210 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 4036 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      creation_time   : 2017-09-28T12:24:47.000000Z
      handler_name    : Core Media Data Handler
      encoder         : H.264
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 157 kb/s (default)
    Metadata:
      creation_time   : 2017-09-28T12:24:47.000000Z
      handler_name    : Core Media Data Handler

色空間はyuv420p,解像度は1280x720,フレームレートは30に変換されている。これなら音ズレしない。(滝が枯れました)

ffmpegで再エンコードする

編集ソフトにブチ込む場合(無劣化)

ffmpeg -i input.mov -c:a pcm_s16le -c:v rawvideo -r 30 -vsync 1 out.avi

そのままCFRに変換だけして保存する場合(ほぼ無劣化)

ffmpeg -i input.mov -c:a copy -c:v h264_qsv -q:v 0 -pix_fmt nv12  -r 30 -vsync 1 out.mp4

YouTubeTwitterにうp

ffmpeg -i input.mp4 -vf scale=1280:720:flags=lanczos+accurate_rnd -c:a copy -global_quality 20 -c:v h264_qsv -preset veryslow -g 15 -bf 2 -refs 16 -b_strategy 1 -look_ahead 1 -look_ahead_depth 100 -coder 1 -pix_fmt nv12 -r 30 -vsync 1 -movflags +faststart out.mp4

TMPGEnc Video Mastering Works 6

TMPGEnc Video Mastering Works 6

Copyright © 2016-2017 俺の外付けHDD All Rights Reserved.