- 投稿日:2020-09-09T23:25:31+09:00
MacBookにWindowsのみを入れる
はじめに
初めての投稿になります.
少し前にイキってMacBookを買ったものの,8年程度Windowsしか使ってない僕にとっては
使いやすいものではなく,しばらく文鎮化してました.
だからと新しいlaptopを買うかと言われればNoなわけでありまして.結論MacBookにWindowsをいれようというわけであります.
貧乏性な僕は少しでも容量を浮かせるためにBootcampは使いたくないというわけであります.用意するもの
ハード
・MacBook本機(MacOSインストール済みのもの)
・USBメモリ:8G程度要ダウンロード
・Windows iso:Windows10でのみ動作確認
・AutoUnattend.xml
・インストールドライバ(後述)
※全部Macbookでのダウンロードで構いません
※Windowsのライセンスは後から(成功してから)買いましょうOSインストールディスクの準備
インストールドライバのダウンロード
1.⌘command + スペース でSpotlight検索
2.Bootcampと検索,Bootcampアシスタントを開く
3.メニューバーのアクション>windowsインストールドライバうんたらかんたらを選択
4.ダウンロード先はディスクトップにでもしておきましょうUSBメモリにぶち込む
1.USBメモリをexFATでフォーマットしておく
2.isoファイルを展開,中身をUSBメモリに入れる
3.BootChampアシスタントからダウンロードしたヤツの中身のBootCamp, \$WinPEDriver\$も入れる
この時,2018年以降のMacBookの場合は\$WinPEDriver\$の中身のIntelMEIってやつを消しておく
4.AutoUnattend.xmlもいれる これで完成
こんな感じになるOSのインストール
外部メディアからの起動を許可する
1.MacBookを再起動,⌘command + R をおしっぱなしにする
2.メニューバーから起動セキュリティユーティリティを選択
3.「外部メディアからの起動を許可」に変更しておく
USBからブートする
1.MacBookを再起動,Optionをおしっぱなしにする
2.どのデバイスから起動するか聞かれるので,USBを選択
3.IMEだのライセンス聞かれるけど適宜選択
4.セットアップ中です が長い,(私は1回ここで敗北)
5.インストールの種類を選択は「カスタム」を選択
6.Windowsのインストールの場所を選択 はとりあえず見えるドライブ全部削除する
これでMacOSとはお別れ
こんな感じになるはず
ここでドライバどうのこうの怒られたらUSBメモリにぶち込むのとこが間違ってるはず7.あとは待っていれば初回セットアップに自動的に切り替わる.設定が完了したらWindowsUpdateをしましょう.
あとがき
結構大変だった…
キー配列が違くて使いずらいですが,これはそのうち慣れるでしょう…参考
Create a Windows 10 Bootable USB Flash Drive on a Mac
起動セキュリティユーティリティについて
MacbookをWindowsだけにする
- 投稿日:2020-09-09T19:02:19+09:00
SSHポートフォーワーディング(エージェント接続)
概要
SSHポートフォーワーディング&接続先で作業を行う必要ができたので、
SCP
とSFTP
でローカルホスト⇄リモートホスト間のダウンロード・アップロード、VSCodeのプラグインRemote Development
でリモートホストのファイルをローカルで編集してみた.備忘録として1つにまとめると話の内容が行ったり来たりするので、内容を切り分けてあと2つの記事(まだ書いてない)を含めた3記事で1つの記事とする.
一応コマンドがよくわからない人向けに、使用するLinuxコマンドを簡単にまとめておいた.
環境
- クライアントPC : macOS High Sierra version10.13.6
- ターゲットサーバ : Linux(CentOS 8.0)
VSCode : ver 1.49.0(本記事では関係ない)
-先に注意事項-
サーバが古いと、Remote Development
で接続できない場合がある.
実際, Scientific Linux 6.1には接続が不可能だった.そもそもSSHポートフォーワーディング(SSH多段接続)とは
セキュリティ向上のため、特定のサーバからのアクセスのみを受け付けるようなSSH接続のこと.
クライアントPCからは、対象のサーバにアクセスする前に踏み台となる中継サーバ=踏み台サーバ(ジャンプサーバ)にアクセスする.
その後、踏み台サーバから対象のリモートサーバにアクセスする.
この時、リモートサーバの特定のポートしか受け付けない場合があるので注意.いきなり本題 〜接続確認〜
そもそもSSHポートフォーワーディングができるかどうか確認.
ここでうまくいかない場合、どんなツールを使ってもうまくいかない.
とりあえずコマンドを試してみて、接続可能かどうか、接続できない場合は何が原因か特定する.ssh-keyが存在する前提で話を進める.
ポートフォーワーディング接続コマンド
実際に打ち込んだコマンド例.
サーバ側の設定などで適宜変える必要がある.# ssh-addでssh-agentに鍵を渡す $ ssh-add -K <鍵の場所> # デフォルトならたぶん ~/.ssh/id_rsa # クライアントPCからジャンプサーバにssh接続 ## Option -A : エージェント接続(事前にssh-addで鍵の追加が必須) $ ssh -A -p 22 <user_name>@<ジャンプサーバIPアドレス> # 今回はグローバルIPアドレス # Ex : ssh -A -p 22 test_user@172.217.31.131 ← GoogleのIPアドレス(実際には接続できないので注意) # Passwordは鍵を作成したときのものを使用 # : # ジャンプサーバにアクセス成功 # ターゲットサーバにアクセス $ ssh <ターゲットサーバIPアドレス> # 今回はプライベートIPアドレス # たぶんアカウントと紐づいたパスワードを聞かれる # : # ターゲットサーバに接続ここまでできればとりあえず接続が可能な状態にある.
SSHコマンド他、使用したコマンドまとめ
SSHポートフォーワーディングに使用するコマンドまとめ.
ssh接続解除
# ssh接続解除 $ exitssh-addコマンド
# ssh-add で ssh-agentに一時的にid_rsa.pubを追加 $ ssh-add ~/.ssh/id_rsa # ssh-add -l で追加できたか確認 $ ssh-add -l # : # 追加ずみのid_rsaが確認できる. ここで確認できない場合、コマンドかssh-keyに問題あり # Option -K 永続的にssh-keyを追加 $ ssh-add -K ~/.ssh/id_rsaLinuxコマンド
cdコマンド : ssh-key 保存ディレクトリへの移動
# homeディレクトリから移動 $ cd ~/.ssh/catコマンド : ファイル(config)の中身を確認
# 現在いるディレクトリを確認 $ pwd >>> /Users/<user_name>/.ssh # ← ok # configの中身を確認する $ cat config # configの中身を見れるviコマンド : ファイル編集
$ vi <ファイル名> # vimが入っていればvimがオススメ. # Mac, Linuxは標準でnanoが入っているはずなのでnanoでも良い.lsコマンド : ディレクトリの中身を確認
# 今いるディレクトリの中身が見れる $ ls ## Option -a → 隠しファイルも見ることができる $ ls -apwdコマンド : 今のディレクトリまでのPathを表示
$ pwdtreeコマンド : 今いるディレクトリ以下の中身が全て見れる
$ tree
catコマンド : OSのバージョン確認
# OSの情報が確認できる(OSによってはできない場合がある) $ cat /etc/issue # これでも一定の情報が得られる $ cat /proc/versionまとめ
とりあえず最低限接続できるかどうかを確認するための作業は、上記のコマンドで事足りる。
しかし、頻繁に接続する場合はコマンドを何回も打つ必要がありめんどくさいので、~/.ssh
ディレクトリのconfig
ファイルを編集していい感じにするのが望ましい.また、ファイルのアップロードをする際は、
SCP
orSFTP
で行う必要がある.
これができれば、
- リモートのファイルをクライアントPCのローカルにダウンロード
- クライアントPCのファイルをリモートにアップロード
が可能になる.
いちいちダウンロード・アップロードがめんどくさい!ということであれば、リモート上で
vim
を使ってファイルの中身をいじることもできるが、vim
は少ししんどいと思われる.
そこで、リモートのファイルをローカルのVSCodeで編集可能にするRemoteDevelopment
というツールが2019年に登場したので、それを使って編集することをオススメする.参考サイト
- 投稿日:2020-09-09T18:38:33+09:00
DockerでRuby on rails6のアプリケーションを環境構築
目標
- ruby on rails6 のアプリケーションをdockerで新規にアプリを立ち上げたい
- DBはMySQLで設定
前提
- Docker on mac
- Rails tutorial完了などruby on rails に関する基礎知識
1.作業ディレクトを作成し、移動する
MacBook-Air ~ % mkdir アプリ名 MacBook-Air ~ % cd アプリ名 MacBook-Air アプリ名 %2.Dockerfileを定義する
FROM ruby:2.6.3 RUN apt-get update -qq && apt-get install -y nodejs # yarnパッケージ管理ツールをインストール # https://classic.yarnpkg.com/en/docs/install/#debian-stable RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list RUN apt-get update && apt-get install yarn WORKDIR /アプリ名 COPY Gemfile /アプリ名/Gemfile COPY Gemfile.lock /アプリ名/Gemfile.lock RUN bundle install COPY . /アプリ名 # Add a script to be executed every time the container starts COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 3000 # Start the main process. CMD ["rails", "server", "-b", "0.0.0.0"]3.Gemfileを作成する
source 'https://rubygems.org' gem 'rails', '~>6'4.空のGemfile.lockを生成する
MacBook-Air アプリ名 % touch Gemfile.lock5.entrypoint.shを作成する
2つ目のところ、自身のアプリ名を入れることに気をつける
#!/bin/bash set -e # Remove a potentially pre-existing server.pid for Rails. rm -f /アプリ名/tmp/pids/server.pid # Then exec the container's main process (what's set as CMD in the Dockerfile). exec "$@"6.docker-compose.ymlを作成する
webのvolumesのところを自分のアプリ名を入れる
docker-compose.ymlversion: "3" services: db: image: mysql:8.0 command: mysqld --default-authentication-plugin=mysql_native_password environment: MYSQL_ROOT_PASSWORD: root volumes: - ./tmp/db:/var/lib/mysql web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" environment: MYSQL_HOST: db volumes: - .:/アプリ名 ports: - "3000:3000" depends_on: - db7.Rails newをする
ここではオプションとして、オプションでリンクしたサービスを起動しない設定、DBをmysqlにする設定を追加
MacBook-Air アプリ名 % docker-compose run web rails new . --force --no-deps --database=mysql ~ Starting アプリ名_db_1 ... done Building web ~ Successfully built 36d2fef9a8a6 Successfully tagged アプリ名_web:latest8. DBと接続する
passwordとhostに環境変数を設定する
database.yml~ default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: <%= ENV.fetch("MYSQL_ROOT_PASSWORD", "root") %> host: <%= ENV.fetch("MYSQL_HOST", "db") %> ~9.コンテナを起動する
MacBook-Air アプリ名 % docker-compose up ~ web_1 | => Booting Puma web_1 | => Rails 6.0.3.2 application starting in development web_1 | => Run `rails server --help` for more startup options web_1 | Puma starting in single mode... web_1 | * Version 3.12.6 (ruby 2.6.3-p62), codename: Llamas in Pajamas web_1 | * Min threads: 5, max threads: 5 web_1 | * Environment: development web_1 | * Listening on tcp://0.0.0.0:3000 web_1 | Use Ctrl-C to stopこの表示がでたらブラウザで http://localhost:3000/ にアクセスする
Yay! You’re on Rails! と表示がでたらコンテナ起動成功エラー: No such file or directory @ rb_sysopen - /アプリ名/config/webpacker.yml Errno::ENOENT)発生時
MacBook-Air アプリ名 % docker-compose run web rails webpacker:install ~ Webpacker successfully installed ? ?参考文献
https://docs.docker.com/compose/rails/
https://railsdoc.com/rails
- 投稿日:2020-09-09T18:38:33+09:00
DockerでRuby on rails6のアプリケーションを環境構築したメモ
目標
- Ruby on Rails6 のアプリケーションをDockerで新規にアプリを立ち上げたい
- DBはMySQL
前提知識
- Docker on mac
- Rails tutorial完了などRuby on rails に関する基礎知識
1.作業ディレクトを作成し、移動する
MacBook-Air ~ % mkdir アプリ名 MacBook-Air ~ % cd アプリ名 MacBook-Air アプリ名 %2.Dockerfileを定義する
DockerfileFROM ruby:2.6.3 RUN apt-get update -qq && apt-get install -y nodejs # yarnパッケージ管理ツールをインストール # https://classic.yarnpkg.com/en/docs/install/#debian-stable RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list RUN apt-get update && apt-get install yarn WORKDIR /アプリ名 COPY Gemfile /アプリ名/Gemfile COPY Gemfile.lock /アプリ名/Gemfile.lock RUN bundle install COPY . /アプリ名 # Add a script to be executed every time the container starts COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 3000 # Start the main process. CMD ["rails", "server", "-b", "0.0.0.0"]3.Gemfileを作成する
Gemfilesource 'https://rubygems.org' gem 'rails', '~>6'4.空のGemfile.lockを生成する
MacBook-Air アプリ名 % touch Gemfile.lock5.entrypoint.shを作成する
2つ目のところ、自身のアプリ名を入れることに気をつける
entrypoint.sh#!/bin/bash set -e # Remove a potentially pre-existing server.pid for Rails. rm -f /アプリ名/tmp/pids/server.pid # Then exec the container's main process (what's set as CMD in the Dockerfile). exec "$@"6.docker-compose.ymlを作成する
webのvolumesのところを自分のアプリ名を入れる
docker-compose.ymlversion: "3" services: db: image: mysql:8.0 command: mysqld --default-authentication-plugin=mysql_native_password environment: MYSQL_ROOT_PASSWORD: root volumes: - ./tmp/db:/var/lib/mysql web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" environment: MYSQL_HOST: db volumes: - .:/アプリ名 ports: - "3000:3000" depends_on: - db7.Rails newをする
ここではオプションとして、オプションでリンクしたサービスを起動しない設定、DBをmysqlにする設定を追加
MacBook-Air アプリ名 % docker-compose run web rails new . --force --no-deps --database=mysql ~ Starting アプリ名_db_1 ... done Building web ~ Successfully built 36d2fef9a8a6 Successfully tagged アプリ名_web:latest8. DBと接続する
passwordとhostに環境変数を設定する
database.yml~ default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: <%= ENV.fetch("MYSQL_ROOT_PASSWORD", "root") %> host: <%= ENV.fetch("MYSQL_HOST", "db") %> ~9.コンテナを起動する
MacBook-Air アプリ名 % docker-compose up ~ web_1 | => Booting Puma web_1 | => Rails 6.0.3.2 application starting in development web_1 | => Run `rails server --help` for more startup options web_1 | Puma starting in single mode... web_1 | * Version 3.12.6 (ruby 2.6.3-p62), codename: Llamas in Pajamas web_1 | * Min threads: 5, max threads: 5 web_1 | * Environment: development web_1 | * Listening on tcp://0.0.0.0:3000 web_1 | Use Ctrl-C to stopこの表示がでたらブラウザで http://localhost:3000/ にアクセスする
Yay! You’re on Rails! と表示がでたらコンテナ起動成功エラー: No such file or directory @ rb_sysopen - /アプリ名/config/webpacker.yml Errno::ENOENT)発生時
MacBook-Air アプリ名 % docker-compose run web rails webpacker:install ~ Webpacker successfully installed ? ?参考文献
https://docs.docker.com/compose/rails/
https://railsdoc.com/rails
- 投稿日:2020-09-09T18:38:33+09:00
DockerでRuby on rails6 × MySQLのアプリケーションを環境構築したメモ
目標
- Ruby on Rails6 のアプリケーションをDockerで新規にアプリを立ち上げたい
- DBはMySQL
前提知識
- Docker on mac
- Rails tutorial完了などRuby on rails に関する基礎知識
1.作業ディレクトを作成し、移動する
MacBook-Air ~ % mkdir アプリ名 MacBook-Air ~ % cd アプリ名 MacBook-Air アプリ名 %2.Dockerfileを定義する
DockerfileFROM ruby:2.6.3 RUN apt-get update -qq && apt-get install -y nodejs # yarnパッケージ管理ツールをインストール # https://classic.yarnpkg.com/en/docs/install/#debian-stable RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list RUN apt-get update && apt-get install yarn WORKDIR /アプリ名 COPY Gemfile /アプリ名/Gemfile COPY Gemfile.lock /アプリ名/Gemfile.lock RUN bundle install COPY . /アプリ名 # Add a script to be executed every time the container starts COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 3000 # Start the main process. CMD ["rails", "server", "-b", "0.0.0.0"]3.Gemfileを作成する
Gemfilesource 'https://rubygems.org' gem 'rails', '~>6'4.空のGemfile.lockを生成する
MacBook-Air アプリ名 % touch Gemfile.lock5.entrypoint.shを作成する
2つ目のところ、自身のアプリ名を入れることに気をつける
entrypoint.sh#!/bin/bash set -e # Remove a potentially pre-existing server.pid for Rails. rm -f /アプリ名/tmp/pids/server.pid # Then exec the container's main process (what's set as CMD in the Dockerfile). exec "$@"6.docker-compose.ymlを作成する
webのvolumesのところを自分のアプリ名を入れる
docker-compose.ymlversion: "3" services: db: image: mysql:8.0 command: mysqld --default-authentication-plugin=mysql_native_password environment: MYSQL_ROOT_PASSWORD: root volumes: - ./tmp/db:/var/lib/mysql web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" environment: MYSQL_HOST: db volumes: - .:/アプリ名 ports: - "3000:3000" depends_on: - db7.Rails newをする
ここではオプションとして、オプションでリンクしたサービスを起動しない設定、DBをmysqlにする設定を追加
MacBook-Air アプリ名 % docker-compose run web rails new . --force --no-deps --database=mysql ~ Starting アプリ名_db_1 ... done Building web ~ Successfully built 36d2fef9a8a6 Successfully tagged アプリ名_web:latest8. DBと接続する
passwordとhostに環境変数を設定する
database.yml~ default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: <%= ENV.fetch("MYSQL_ROOT_PASSWORD", "root") %> host: <%= ENV.fetch("MYSQL_HOST", "db") %> ~9.コンテナを起動する
MacBook-Air アプリ名 % docker-compose up ~ web_1 | => Booting Puma web_1 | => Rails 6.0.3.2 application starting in development web_1 | => Run `rails server --help` for more startup options web_1 | Puma starting in single mode... web_1 | * Version 3.12.6 (ruby 2.6.3-p62), codename: Llamas in Pajamas web_1 | * Min threads: 5, max threads: 5 web_1 | * Environment: development web_1 | * Listening on tcp://0.0.0.0:3000 web_1 | Use Ctrl-C to stopこの表示がでたらブラウザで http://localhost:3000/ にアクセスする
Yay! You’re on Rails! と表示がでたらコンテナ起動成功エラー: No such file or directory @ rb_sysopen - /アプリ名/config/webpacker.yml Errno::ENOENT)発生時
MacBook-Air アプリ名 % docker-compose run web rails webpacker:install ~ Webpacker successfully installed ? ?参考文献
https://docs.docker.com/compose/rails/
https://railsdoc.com/rails
- 投稿日:2020-09-09T12:09:03+09:00
2020年にRealsense SR300をMacBookで利用するTips
Realsenseの少し古いバージョンであるSR300をMacBookで動かそうとしたら、少し躓いたのでメモです。
まとめは以下の通りです。
- Latest Legacy Releaseのlibrealsenseを利用
- pyrealsenseはsetup.pyのビルドフラグを変えてインストール
- USB給電は電力が十分なものを使用
1. Latest Legacy Releaseのlibrealsenseを利用
最新版のSDKでは下記のようなエラーが出て、Realsenseデバイスへの接続に失敗することがあります。
Could not open device command transfer failed to execute bulk transfer, error: RS2_USB_STATUS_TIMEOUTそこで、下記の旧バージョンのSDK使います。
https://github.com/IntelRealSense/librealsense/tree/v1.12.1
cloneしたら、最新版と同じくcmakeすればOKです。
cmakeしたらXCodeを開いて、install
ターゲットでビルドしてlibrealsenseのインストールを済ませておくのを忘れずに!2. pyrealsenseはsetup.pyのビルドフラグを変えてインストール
Python連携はこちらの旧版のものを使います。
https://github.com/toinsson/pyrealsense
pipでインストールしようとすると、最新版のXCode環境ではビルドでコケます。
XCodeのstdlibの参照先が変わっているのが原因なので、setup.pyで指定し直してあげます。setup.pymodule = cythonize( [Extension( name='pyrealsense.rsutilwrapper', sources=["pyrealsense/rsutilwrapper.pyx", "pyrealsense/rsutilwrapperc.cpp"], libraries=['realsense'], include_dirs=inc_dirs, library_dirs=lib_dirs, language="c++", extra_compile_args=["-O3", "-stdlib=libc++"], # ここを追加 extra_link_args=["-stdlib=libc++"], # ここを追加 )])編集したら、
python setup.py install
でインストールできます。3. USB給電は電力が十分なものを使用
デプスセンサが結構電力を食うので、安いUSB-C変換コネクタだと、起動してすぐ落ちてしまうことがあります。
Apple純正の変換コネクタなど、電力が十分なものを使うようにしましょう。
以上です。誰かの役に立ちますように!
- 投稿日:2020-09-09T08:07:19+09:00
初心者がdocker for macをインストールして起動してみる
インストールまで
対象者
dockerって何?
動機
php5.Xを使う機会がありました。
php5.xはサポート期間が終了しています。
dockerを使うのが分かりやすかったです。参考記事
DockerをMacにインストールする(更新: 2019/7/13)
アカウント登録
dockerバージョン確認
docker versionDouble-click Docker.dmg to start the install process.
When the installation completes and Docker starts, the whale in the top status bar shows that Docker is running, and accessible from a terminal.gitバージョン確認
git versiondockerとは?
dockerはコンテナ管理ソフトウェア。
installをしたので使ってみましょう。dockerのコマンドを使ってみる
nginxをpullする
cmddocker run -d -p 80:80 --name {コンテナ名} nginx起動しているnginxを止める
cmddocker container stop {コンテナ名}起動しているnginxを起動
cmddocker container start {コンテナ名}起動しているコンテナのリストを表示
cmddocker container lscmddocker container ls -aコンテナの削除
cmddocker container rm {コンテナ名}イメージの削除
cmddocker image rm {ID}所要時間
30分ぐらいでできると思います。
ここまでの疑問
- nginxって何?
- imageって何?
参考url
【入門】Nginx(エンジンエックス)とは?Apacheとの違いと初期設定
Dockerイメージの理解を目指すチュートリアルnginxとは?
静的コンテンツ向き。
Apacheは動画処理などの動的コンテンツ向き。imageとは?
Docker イメージとは、親子関係を持つ、複数のイメージ・レイヤ(image layer)によって構成されています。イメージ・レイヤは読み込み専用です。Docker は、複数のイメージ・レイヤに含むファイルやディレクトリの情報を1つに統合する技術を使っています。
コンテナとは?
Dockerのコンテナは、 Dockerのイメージ・・・・を元に作成される仮想環境の実行部分。
- 投稿日:2020-09-09T06:32:22+09:00
MacでImageを使って動画解析をするための前処理(変換)
前置き
ImageJで動画解析をする際には、.aviファイルの形式にして読み込みます。
Windowsではおなじみの拡張子ですがMacだと、フリーソフトのコンバーターを使って変換しても読み込めないなどのエラーが多発して苦労しました。
この時、ffmpegを用いるとすんなりと解決できました。
その際の、解決策の忘備録として。使用するもの
・Homebrew
・ffmpeg
・元動画ファイル(元ファイルの拡張子はmpgに限らず幅広いフォーマットでも大丈夫)インストール
ターミナルを立ち上げてコマンド操作で行います。
※Homebrewを事前に導入している前提です。
brew install ffmpeg
やること
(1)Macのターミナルの立ち上げ
(2)動画ファイルのあるディレクトリに移動(cd XXXやlsを駆使してファイルの存在を確認してください)
(3)ターミナルに以下のコマンドを入力
ffmpeg -i 元のファイル名.mpg -f avi -vcodec mjpeg 変換後のファイル名.avi
(4)変換されたファイルをImageJにドラッグアンドドロップで読み込ませると読み込みます
以上※今回は単純な変換のみですが、実際には変換の際にコーデックの種類、フレームレートやオーディオ形式など結構いろいろなオプションを指定することが出来ます。
おまけに
研究でもお世話になることの多いImageJですが、機能が多すぎてつまづく人も多いかと思います。
動画解析などの手順や、こんな処理ってできるのかな?と思った際にはこちらの資料をとりあえず見てみると良いかと思います。参考
- 投稿日:2020-09-09T06:32:22+09:00
MacでImageJを使って動画解析をするための前処理(変換)
前置き
ImageJで動画解析をする際には、.aviファイルの形式にして読み込みます。
Windowsではおなじみの拡張子ですがMacだと、フリーソフトのコンバーターを使って変換しても読み込めないなどのエラーが多発して苦労しました。
この時、ffmpegを用いるとすんなりと解決できました。
その際の、解決策の忘備録として。使用するもの
・Homebrew
・ffmpeg
・元動画ファイル(元ファイルの拡張子はmpgに限らず幅広いフォーマットでも大丈夫)インストール
ターミナルを立ち上げてコマンド操作で行います。
※Homebrewを事前に導入している前提です。
brew install ffmpeg
やること
(1)Macのターミナルの立ち上げ
(2)動画ファイルのあるディレクトリに移動(cd XXXやlsを駆使してファイルの存在を確認してください)
(3)ターミナルに以下のコマンドを入力
ffmpeg -i 元のファイル名.mpg -f avi -vcodec mjpeg 変換後のファイル名.avi
(4)変換されたファイルをImageJにドラッグアンドドロップで読み込ませると読み込みます
以上※今回は単純な変換のみですが、実際には変換の際にコーデックの種類、フレームレートやオーディオ形式など結構いろいろなオプションを指定することが出来ます。
おまけに
研究でもお世話になることの多いImageJですが、機能が多すぎてつまづく人も多いかと思います。
動画解析などの手順や、こんな処理ってできるのかな?と思った際にはこちらの資料をとりあえず見てみると良いかと思います。参考