- 投稿日:2020-02-26T21:16:26+09:00
MacでAVCHD(.MTS)ファイルを扱う|複数のMTSファイルをmp4に変換する
はじめに
- 個人的なメモです(誰かの役に立つと嬉しい)
- 撮影機材:ミラーレス一眼カメラPanasonic LUMIX DMC G7
- FullHD 60fpsの場合mp4形式で撮影すると29分59秒で一度録画が切れてしまう
- AVCHD形式で撮影する場合は電源とSDカードの容量が許す限り無限に動画が撮影できる
- 動画撮影中に切のいいところで撮影を停止することを繰り返すと複数のMTSファイルが残る
解決したいこと
- MacでMTSファイルを取り出す方法
- MTSファイルを1本のmp4ファイルに結合したい
※動画編集ソフトでも動画ファイルの結合から書き出しは可能だが、エンコードに時間がかかりCPUパワーも必要なためNG、この方法だとコマンドを打てば数秒で動画の結合から書き出しまで完了する。
MacでMTSファイルを取り出す方法
録画データはSDカードに入っているのでMacPCにアダプターなどを使ってMacPCに接続する。
MacOSのFinderでAVCHDファイルを開こうとすると1つのファイルのように見える。
そのファイルを右クリックすると
パッケージ内容を表示
のメニューが表示されるのでクリックすると中身のファイルを表示することができる。
そのファイル中には
BDMV
ファイルがあり同じようにそのファイルを右クリックするとパッケージ内容を表示
のメニューが表示されるのでクリックすると中身のファイルを表示する。BDMVファイルを開くとようやくMTSファイルが表示される。
このままではffmpegからアクセスするとエラーを吐くので、適当なディレクトリにコピーする。
今回はホームディレクトリのムービーディレクトリの中にコピー
/Users/merarli/Movies/AVCHD_FILE/AVCHD_mac_test2/00000.MTS
/Users/merarli/Movies/AVCHD_FILE/AVCHD_mac_test2/00001.MTS
MTSファイルを1本のmp4ファイルに結合したい
今回はわかりやすいようにMTSファイルと同じディレクトリに
list.txt
を作成
以下のように結合したい順番に動画ファイルパスを記述
/Users/merarli/Movies/AVCHD_FILE/AVCHD_mac_test2/list.txt
list.txtfile '/Users/merarli/Movies/AVCHD_FILE/AVCHD_mac_test2/00000.MTS' file '/Users/merarli/Movies/AVCHD_FILE/AVCHD_mac_test2/00001.MTS'ffmpegでmp4に変換する
ffmpegはターミナルで以下のコマンドを入力することでインストールできる。
すでにインストール済みの方はスキップしてOKbrew install ffmpeg
最後に
list.txt
に記入した動画ファイルを結合する。
以下のコマンドで/Users/merarli/Movies/AVCHDtomp4/
のディレクトリにmov.mp4
ファイルが出力される。ffmpeg -safe 0 -f concat -i '/Users/merarli/Movies/AVCHD_FILE/AVCHD_mac_test2/list.txt' -c copy '/Users/merarli/Movies/AVCHDtomp4/mov.mp4'
- 投稿日:2020-02-26T18:38:15+09:00
MAX OS CatalinaでiPhoneの通信をキャプチャする方法
MAC OSがCatalinaになってからiPhoneの通信キャプチャの方法が変わったのでメモがてら
今回使用したデバイス
MacBook Pro [10.15.2 Catalina]
iPhone X使用ソフト
キャプチャの手順
手順1 iPhoneとMACを接続
LightingケーブルでiPhoneとMACを接続します。
このiPhoneは信頼しますか?的なのが出てくるので、とりあえず信頼しておきましょう。手順2 iPhone UUIDのコピー(Catalina以前のOSの場合異なる)
Catalinaからは、iTunesではなく、Finderを使用していきます。
まずFinderを開き、さっき信頼したiPhoneを選択する(ここでも信頼しておきましょう)
クリックすると、シリアル、UUIDなどが表示されるので、右クリック→コピーしましょう
手順3 ターミナルから、iPhoneを仮想認識させる(Catalina以前のOSの場合異なる)
ターミナルを開き、以下を入力しEnterします。(Catalinaの場合)
※UUIDUUIDUUIDUUIDUUIDUUIDUUIDUUIDUUID部分はさっきコピーしたUUIDが入ります。
sudo /Library/Apple/usr/bin/rvictl -s UUIDUUIDUUIDUUIDUUIDUUIDUUIDUUIDUUID
EnterするとPCのパスを聞かれるので入力してください。
成功すると[SUCCEEDED]が表示されます。一応、Catalina以前のOSの場合のコマンド
rvictl -s UUIDUUIDUUIDUUIDUUIDUUIDUUIDUUIDUUID
方法は同じです。手順4 WireSharkを起動しキャプチャする
手順3が無事成功したあとに、WireSharkを起動します。
成功している場合、以下のrvi0を選択するとiPhoneのコマンドをキャプチャできます。
- 投稿日:2020-02-26T18:38:15+09:00
MAC OS CatalinaでiPhoneの通信をキャプチャする方法
MAC OSがCatalinaになってからiPhoneの通信キャプチャの方法が変わったのでメモがてら
今回使用したデバイス
MacBook Pro [10.15.2 Catalina]
iPhone X使用ソフト
キャプチャの手順
手順1 iPhoneとMACを接続
LightingケーブルでiPhoneとMACを接続します。
このiPhoneは信頼しますか?的なのが出てくるので、とりあえず信頼しておきましょう。手順2 iPhone UUIDのコピー(Catalina以前のOSの場合異なる)
Catalinaからは、iTunesではなく、Finderを使用していきます。
まずFinderを開き、さっき信頼したiPhoneを選択する(ここでも信頼しておきましょう)
クリックすると、シリアル、UUIDなどが表示されるので、右クリック→コピーしましょう
手順3 ターミナルから、iPhoneを仮想認識させる(Catalina以前のOSの場合異なる)
ターミナルを開き、以下を入力しEnterします。(Catalinaの場合)
※UUIDUUIDUUIDUUIDUUIDUUIDUUIDUUIDUUID部分はさっきコピーしたUUIDが入ります。
sudo /Library/Apple/usr/bin/rvictl -s UUIDUUIDUUIDUUIDUUIDUUIDUUIDUUIDUUID
EnterするとPCのパスを聞かれるので入力してください。
成功すると[SUCCEEDED]が表示されます。一応、Catalina以前のOSの場合のコマンド
rvictl -s UUIDUUIDUUIDUUIDUUIDUUIDUUIDUUIDUUID
方法は同じです。手順4 WireSharkを起動しキャプチャする
手順3が無事成功したあとに、WireSharkを起動します。
成功している場合、以下のrvi0を選択するとiPhoneのコマンドをキャプチャできます。
- 投稿日:2020-02-26T00:16:02+09:00
macOS Catalina でanyenvを入れようとして詰まった話
はじめに(茶番)
朝
ワイ「おっ anyenvなるものがあるんやな」
ワイ「便利そうやん 早速入れてみよ」
ワイ「あ、でもその前にCatalinaにアップデートしたろ」
ワイ「クリーンインストールもしてピカピカや!!」…………………………………………
昼
ワイ「よっしゃ終わったで」
ワイ「ほな早速anyenv入れてこか」
ワイ「なになに……anyenv + macOS環境構築か」
ワイ「このサイト見ながらやったるで!……ってもうバイトの時間や!」…………………………………………
夜
ワイ「疲れたわあ……」
ワイ「ほなら早速構築していきましょか」…………………………………………
ワイ「うまくいかん!! なんでや!!!」
※ 参考にしたanyenv + macOS環境構築に問題があるわけではありません。
macOS Catalinaの重要な変更点
上のは茶番です。
さて、macOS Catalinaには、重要な変更点がありました。
それは、デフォルトシェルがbashからzshに変わったということです。
これが今回の問題と直接関係しているかはわかりませんが、無関係ということはない気がします。クリーンインストールする前に、初期設定をシェルスクリプトに書いておき、
それを実行して初期設定を行ったのですが、このときに.bashrcを作成していました。その後ずるずるとanyenvの設定を.bashrcで行ったため、zshに変わっていたと気づくのが遅くなりました。
問題発生
参考にした元記事のほうがbashでの設定方法だったのですが、
Catalinaになっているためzshで行う必要があります。$ brew install anyenv $ anyenv init # Load anyenv automatically by adding # the following to ~/.zshrc: eval "$(anyenv init -)"と表示されます。そのため、
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc $ exitを実行し、起動し直します。ここまではいいのですが
$ anyenv init # Load anyenv automatically by adding # the following to ~/.zshrc: eval "$(anyenv init -)"と、なぜかまた出てきます。
$ exec $SHELL -lを実行してもだめでした。
解決
何をやっても、何回アンインストールを繰り返してもだめなので、いっそガン無視して
$ anyenv install --initを実行しました。
Manifest directory doesn’t exist: /Users/haruto/.config/anyenv/anyenv-install Do you want to checkout ? [y/N]: y Cloning https://github.com/anyenv/anyenv-install.git master to /Users/haruto/.config/anyenv/anyenv-install... Cloning into '/Users/haruto/.config/anyenv/anyenv-install'... remote: Enumerating objects: 48, done. remote: Total 48 (delta 0), reused 0 (delta 0), pack-reused 48 Unpacking objects: 100% (48/48), 6.65 KiB | 170.00 KiB/s, done. Completed!と、成功してくれるので、
$ exec $SHELL -l $ anyenv install nodenv /var/folders/28/cmsn2nz17yd2sw_qgfn488780000gn/T/nodenv.20200225233257.9916 ~ Cloning https://github.com/nodenv/nodenv.git master to nodenv... Cloning into 'nodenv'... # 中略 Install nodenv succeeded! Please reload your profile (exec $SHELL -l) or open a new session. $ exec $SHELL -l $ anyenv versions nodenv: Warning: no Node detected on the systemと出てきて、成功です!
その後は、
$ nodenv install 13.9.0 $ exec $SHELL -l $ anyenv versions nodenv: 13.9.0となりました。
おわりに
ワイ「は〜 なんやこれ」
ワイ「めっちゃ舌打ちしてもうたわ」
ワイ「ま、とりあえずできたのでオールオッケーや!」と、無事成功しましたが、原因など詳しくはないので、
どなたかわかる方がいらっしゃいましたらコメントで教えていただけると幸いです。