labunix's blog

labunixのラボUnix

debian stretchでOpenShot Editorを使ってみる。

■debian stretchでOpenShot Editorを使ってみる。
 画像(pngやjpeg)と音声ファイル(mp3など)を元にエフェクトをかけた動画を作成するために、
 以下の手順を参考にして導入する。

 「オープンソース」を使ってみよう (21回 OpenShot Video Editor編)
 https://www.ospn.jp/press/20120704no25-useit-oss.html

■画像や音源集めなどは行わない。基本的に下記で作成した動画にエフェクトを付けるイメージで。
 最初なので静止画が15秒置きに変わる位ならもっと見たかったも長すぎるも感じにくい。
 トランジションやフェードイン、フェードアウト、アニメーションを付けるだけで
 おおよそ十分だけど、出来れば10秒置きに変わる程度の素材が欲しいところ。

 debian stretch+ffmpegで字幕ファイルsrt/assをなるべく簡単に作成してみる。
 http://labunix.hateblo.jp/entry/20170816/1502892640

 ffmpegで無音、静止画からsrtを埋め込んだ動画を生成する。
 http://labunix.hateblo.jp/entry/20170821/1503254189

■blenderを呼び出すとのことなので、別々ではなく関連も含めていっぺんに。

$ echo "openshot ^blender" | tr ' ' '\n' | awk '{print "apt-cache search "$1}' | sh
openshot - ビデオやムービーを作成編集
openshot-doc - Help manual for OpenShot Video Editor
blender - きわめて高速で多機能な 3D モデリング・レンダリングツール
blender-data - Very fast and versatile 3D modeller/renderer - data package
blender-dbg - Very fast and versatile 3D modeller/renderer - debug package
blender-ogrexml-1.9 - Blender Exporter for OGRE

■まあまあ時間かかりそうな依存関係。

$ echo "openshot ^blender" | tr ' ' '\n' | awk '{print "apt-cache search "$1}' | sh | \
    awk '{print "apt-cache show "$1}' | sh | \
    grep ^Depends | tr ',' '\n' | sed -e 's/Depends://g' | sort -u | column
 blender							 libopenal1 (>= 1.14)
 blender (= 2.78.a+dfsg0-4)					 libopencolorio1v5
 blender-data (= 2.78.a+dfsg0-4)				 libopenexr22
 fontconfig							 libopenimageio1.6
 fonts-dejavu							 libopenjp2-7 (>= 2.0.0)
 gtk2-engines-pixbuf						 libopenvdb3.2
 libavcodec57 (>= 7:3.2.2) | libavcodec-extra57 (>= 7:3.2.2)	 libpcre3
 libavdevice57 (>= 7:3.2.2)					 libpng16-16 (>= 1.6.2-1)
 libavformat57 (>= 7:3.2.2)					 libpython3.5 (>= 3.5.0~b1)
 libavutil55 (>= 7:3.2.2)					 librsvg2-common
 libboost-atomic1.62.0						 libsndfile1 (>= 1.0.20)
 libboost-chrono1.62.0						 libspnav0 (>= 0.2.2)
 libboost-date-time1.62.0					 libstdc++6 (>= 5.2)
 libboost-filesystem1.62.0					 libswscale4 (>= 7:3.2.2)
 libboost-iostreams1.62.0					 libtbb2
 libboost-locale1.62.0						 libtiff5 (>= 4.0.3)
 libboost-regex1.62.0						 libx11-6
 libboost-system1.62.0						 libxi6 (>= 2:1.2.99.4)
 libboost-thread1.62.0						 libxml2 (>= 2.7.4)
 libc6 (>= 2.15)						 libxxf86vm1
 libfftw3-double3						 melt
 libfontconfig1 (>= 2.11)					 python-gtk2
 libfreetype6 (>= 2.2.1)					 python-httplib2
 libgcc1 (>= 1:3.4)						 python-imaging
 libgl1-mesa-glx | libgl1					 python-mlt | python-mlt5 | python-mlt2
 libglew2.0 (>= 1.12.0)						 python-pygoocanvas
 libglu1-mesa | libglu1						 python-xdg
 libgomp1 (>= 4.9)						 python3
 libilmbase12 (>= 2.2.0)					 python3:any (>= 3.3.2-2~)
 libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125		 python:any (>= 2.7.5-5~)
 libjemalloc1 (>= 2.1.1)					 rarian-compat
 libjpeg62-turbo (>= 1.3.1)					 zlib1g (>= 1:1.2.3.4)

■インストールを開始したらブレイクタイム。

$ echo "openshot ^blender" | tr ' ' '\n' | awk '{print "apt-cache search "$1}' | sh | \
    awk '{print "dpkg -l | grep \"^ii *"$1" \" || sudo apt-get install -y "$1}' | sh

■画像の情報を取得

$ apt-cache search jhead
jhead - Exif 互換な JPEG ファイルの非画像部分を操作

$ jhead *.jpg | grep Res
Resolution   : 719 x 719
Resolution   : 1080 x 1080
Resolution   : 675 x 1200
Resolution   : 900 x 1200
Resolution   : 1200 x 675
Resolution   : 1200 x 675

$ identify out.png
out.png PNG 854x480 854x480+0+0 8-bit sRGB 67c 149KB 0.000u 0:00.000

$ mkdir jpgbackup && cp *.jpg jpgbackup/
$ n=0;for list in *.jpg;do let n=$n+1;convert "$list" -resize 854x480 $n.jpg ;done

$ jhead [1-9].jpg | grep Res
Resolution   : 480 x 480
Resolution   : 480 x 480
Resolution   : 270 x 480
Resolution   : 360 x 480
Resolution   : 640 x 360
Resolution   : 640 x 360

■OpenShotを起動する。
 一通り出来たら、プロジェクトの保存と、動画を書き出し。
 素材が増えるか、変化が欲しくなるまでは音源の入れ替えだけで色々使えそうだ。

$ openshot