タブレット(orスマホ)でmts形式のビデオファイルを結合することができたので、その方法を紹介します
**注意**今回紹介する方法でmtsファイルの結合をすると、以後、ビデオカメラがそのmicroSDを認識しなくなってしまうので、結合は専用のmicroSDでやってください。
(認識しなくなったmicroSDはフォーマットすることで、再度、ビデオカメラで使用できます)
- 結論
「方法だけ解れば自分でやるよ」って人向けに結論から。
"Termux" で 'cat hoge.mts fuga.mts > piyo.mts' で出来たよ。
でも"Termux"でそれをやると、ビデオカメラがそのmicroSDを認識しなくなっちゃうから、専用のmicroSDでやってね。
…という話を、以下くどくどと書きます。 - 経緯
知人よりビデオファイル(mtsファイル)の結合が簡単にできないか相談されました。
やりたい事は、「スポーツ観戦で前半の試合を録画した後に一旦ビデオを停止し、そのあと後半の試合を録画しているが、それらを結合して1試合が1ファイルになるようにしたい」ということでした。
なんでも、youtubeにアップするのに1ファイルの方が都合が良いとか。
最初は自分で検索して、「DOSコマンドで"COPY a.mts b.mts > c.mts"とすると結合できるらしいんだけど、それをバッチファイルにして欲しい」というのでバッチファイルを書いてあげて、それを実行していました。
そしたら「早くyoutubeにアップしたいので、試合会場、もしくは帰宅する車内で結合したい」ということで、ノートPCを車内に持ち込むようになりました。
そのうち、「ノートPCを持ち歩くの面倒。なんとかして」という経緯。
俺もそんな事にいちいち関わるのも面倒なので、しばらくスルーしていたのですが、ふと「スマホ(android)ってlinuxじゃん」と気がつきまして。
ちょっと面白そうなので(←コレ重要)、androidでビデオファイルの結合ができるかやってみることにしました。
まず、面倒な事はやりたくないので、rootを取らずにlinuxのシェルを実行できるアプリがあるのか探してみると"Termux"というアプリを発見。
色々やってみたら、見事、ファイルを結合することができたので、そのやり方の報告です。 - 使用端末
今回使用したのは、ASUS MEMO Pad7(K013 ME176C)で、Android5.0。
タブレットだと、裏カバーを開けなくてもmicroSDを挿せるから便利。
microSDをUSBポートに接続できるアダプタや変換ケーブルでもOK。
(その場合、ディレクトリがexternal-2になる(後述))
- "Termux"の環境作り
凡例 ""で囲まれた文字列は固有名詞 ''で囲まれた文字列はキーボードからの入力 [Enter]:Enterボタン
*入力は大文字と小文字を区別するので表記通り入力してください。
"Termux"アプリをインストールして実行します。
https://play.google.com/store/apps/details?id=com.termux
次に、'Termux-setup-storage'[Enter]と入力、実行します。
'ls'[Enter]で、"storage"ディレクトリが作られた事を確認します。
('ls'コマンドは、MS-DOSで言うところの'dir'です)
"~/storage/external-1/"が、今回使用するディレクトリになります。
上記はandroidの、"/Removable/MicroSD/Android/data/com.terumux/files/"にリンクしています。
毎回結合コマンドを手打ちするのも面倒なのでスクリプトを作成します。
viが使えるので、以下のスクリプトを作成し、適当な名前(例:mtsmts)で、"~/"(ホームディレクトリ)下に保存します。
(下記の 00000.mts、00001.mts、01.mts はサンプル名ですので適宜変更してください)
cd ~/storage/external-1 cat 00000.mts 00001.mts > 01.mts ls -l *.mts cd ~/
chmodで実行権限を与えます。(例:chmod 755 mtsmts)
上記のスクリプトの内容は、「00000.mtsと00001.mtsを結合して、01.mtsという名前で保存」という内容です。
2ファイル以上のファイルの結合は、cat 文の > の前に列挙してください。
コマンドの最後にファイル一覧を表示するので、結合に成功していれば、結合後のファイルが表示されるはずです。 - MTSビデオファイルを結合する
- ビデオのメモリカード(microSD等)をタブレット(orスマホ)に挿入します。
- 結合したいmtsファイルを"Termux"で読み書きできるディクトリにコピーします。
ファイルマネージャを起動します。
"/Removable/MicroSD/PRIVATE/AVCHD/BDMV/STREAM/"にある、*.mtsファイルをコピーし、
"/Removable/MicroSD/Android/data/com.terumux/files/"以下に貼り付けます。
多分、コピーに時間がかかると思うので、放置しておきます。 - コピーしたら、ファイル名を「3.」で指定したファイル名に変更します。
"Termux"を起動します。
先程作成したファイル結合スクリプトを実行します。
(例:'./mtsmts')
結合もそれなりに時間がかかると思うので、またまた放置。
- 注意
今回紹介する方法でmtsファイルの結合をすると、以後、ビデオカメラがそのmicroSDを認識しなくなってしまうので、結合は専用のmicroSDでやってください。
(認識しなくなったmicroSDはフォーマットすることで、再度、ビデオカメラで使用できます)
知人は毎回フォーマットしているそうですが、マスターファイルを保存しておきたい場合は、内部ストレージにコピーして結合するとか、USBに外部ストレージを付けてそこにコピーして結合するなりしてください。
その場合は、スクリプト内のディレクトリの場所の記述が変わりますので、ユーザーの環境に合わせて変更してください。 - 変換ケーブルについて
最初は試験的に変換ケーブルで試しました。
SODIAL(TM) 2x Micro USB OTG Host Cable
使ったケーブルはメモリ専用ではなく、USB_C-A変換ケーブルに、USB-microSD変換アダプタを繋いだもの。
ケーブルだかアダプタだかが遅くて、ファイルコピーにえらく時間がかかったので、結局microSDをスロットに直接挿して使う事にしました。
アクセスが早いアダプタを使えば快適になるかは不明。
また、上記ケーブルでAndroid7.0のスマホで試したところ外部ストレージ(external-2)として認識しませんでした。
これも問題がケーブルにあるのか、"Termux"にあるのかは検証してません。 - スクリプトファイル
スクリプトファイルを作る際にエディタ作業が必要になりますが、viエディタの使い方を知らない場合は、エディタアプリをインストールするのが一番ラクかもしれません。
アプリをインストールしたくないのであれば、一言一句間違えない自信があなら、'echo pwd >> mtsmts'[Enter]、'echo cd ~/storage/external-1 >> mtsmts'[Enter]、と一行一行打ち込んでいくこともできます。
また、PCでスクリプトファイルを作成したものをスマホ(orタブレット)でD/Lして、"Termux"のディレクトリに移動することで使用できます。(実行権限を与えるのを忘れずに)
「スクリプトファイルをD/Lする」とは、例えばどこかのクラウドにU/Lするとか、自分宛に添付メールするとか、自分のブログにU/Lするとかです。
色々やり方は考えられますが、vi覚えるのが最短かと。
コメント