刹那(せつな)の瞬き

Willkömmen! Ich heiße Setsuna. Haben Sie etwas Zeit für mich?

iPhoneをPCに接続して動画ファイルをコピーしてVLCで再生する

先般の記事のように、Ubuntu側の共有フォルダをそれなりに設定をすれば、iPhoneからUbuntuの共有フォルダを参照できます。

しかし、この処置を失念してた為、共有フォルダ内の動画ファイルを思うように再生できなかった私は、ついつい深みにハマってしまいました。

"共有フォルダがダメなら、iPhoneをPCに接続して、ファイルをコピーしちゃえば良いじゃない!"

最終的に目的は達成できたのですが、ネット上の情報を検証しつつ、その取捨選択にかなりの時間を割いてしまいました。まさに沼...

....

以下のまとめは、今なら「ファイル App」で済むところを、わざわざPCに直付けしてまでファイルをコピーをしようとした者の足跡です。

保証外の事をやってますので、こんな事もできるんだ程度に流してください。

1. 概要

  • Ubuntu PCをホストとして、iPhoneをLightningケーブルで接続する。
  • iPhoneをホストにマウントして、iPhone内のフォルダを確認する。
  • VLC for mobileのフォルダに動画ファイルをコピーする。
  • iPhoneをアンマウントして、Lightningケーブルを抜く。

2. 前提と環境

今回の検証はiPhone上の写真や動画等について考慮しません。
あくまで、ホスト→iPhoneかつターミナルで処理します。
その為、imobiledevice系はインストールしていません。

また、以下の内容は私の環境での実行結果なので、試される方は自身の環境に置き換えてください。

3. 準備

(1) lsusbコマンドの存在を確認
$ which lsusb
/usr/bin/lsusb

存在しなければ、sudo apt install usbutilsを実行すれば良いようです。

(2) 不足しているコマンドをインストール
$ sudo apt install ifuse
$ sudo apt install ideviceinstaller
(3) 接続

Ubuntu PCにiPhoneをLightningケーブルで接続します。

(4) iPhone側でロック解除

iPhone側のロックを解除し、通知をタップすると「このコンピュータを信頼しますか?」と表示されるので、「信頼」をタップします。

(5) ホスト側で認識を確認
$ lsusb
〜 (ざっくり省略) 〜
Bus 001 Device 002: ID 8087:0aa7 Intel Corp.
Bus 001 Device 007: ID 05ac:12a8 Apple, Inc. iphone5/5C/5S/6
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
(6) iPhoneのUDIDの確認

後述する作業にiPhoneのUDID(40文字の16進数)が必要です。

いくつか方法がありますが、

  • dmesgの出力結果から、iPhoneの"SerialNumber:"の値を確認。 
  • lsusb -vの出力結果から、"iphone"のエントリーを探して"iSerial"の値を確認。

どちらでも構わないので、UDIDを確認します。
私はテキストファイルにリダイレクトして、エディタでコピーしておきました。

(7) VLC for mobileのAPPIDの確認

後述する作業にVLC for mobileのAPPIDが必要です。

$ ideviceinstaller -l
〜 (ざっくり省略) 〜
org.videolan.vlc-ios, "344", "VLC"
〜 (ざっくり省略) 〜

ということで、VLC for mobileのAPPIDはorg.videolan.vlc-iosでした。

(8) マウントポイントの準備

今回はホームディレクトリ直下に作業用に二つ用意します。

$ cd ~
$ mkdir iphonemnt
$ mkdir iphonevlc

4.  コピー作業

以降の作業は必ずターミナルで実行してください。
ファイルマネージャで表示してしまうと、主にサムネイルがらみで、後々面倒な事になります。

(1) iPhoneをホストのファイルシステムにマウント

確認しておいたUDIDを指定してマウントします。

$ ifuse ~/iphonemnt/ --udid 295d........(略).....d7c2
$ ls ~/iphonemnt

iPhone上の各種フォルダが表示されれば、iPhoneのマウントは成功です。

(2) VLCのフォルダをファイルシステムにマウント

確認しておいたAPPIDを指定してマウントします。

$ ifuse ~/iphonevlc/ --documents org.videolan.vlc-ios
$ ls ~/iphonevlc

空、もしくはファイルが表示されれば、VLCフォルダのマウントは成功です。

(3) 動画ファイルのコピー

後はコピーしたい動画ファイルを ~/iphonevlc にコピーするだけです。

例として、カレントディレクトリのsrc.mp4をコビーします。

$ cp src.mp4 ~/iphonevlc/

コビー作業が完了したら、ファィルシステムからそれぞれアンマウントします。

(4) 作業フォルダのアンマウント

先にVLCフォルダからアンマウントします。

$ sudo umount ~/iphonevlc

最後にiPhoneをアンマウントします。

$ sudo umount ~/iphonemnt

作業は以上です。

後はLightningケーブルを抜いて、iPhone側でVLCを起動して、コピーした動画を再生してみます。