ffmpegで静止画付きの音声ファイルを作る方法
やりたいことは
音声データ.wavに静止画.jpgを付けて動画.flvファイルを作成すること。
ググると次のようなコマンド例がでてきた。
ffmpeg -loop_input -shortest -i gazo.jpg -i onsei.mp3 -vcodec flv -acodec copy -r 1 douga.flv
-loop_input -shortest で jpg画像を音声が終るまでループさせるのがミソの様だ。 -shortestがないと延々とエンコが続いてしまう... あと、静止画なのでフレームレートは最低限にするとファイルが小さくできる。
とのこと。
0 最終的に実行したコマンド
ffmpeg -loop_input -shortest -i image.jpg -i audio.wav -vcodec flv -acodec copy -y -r 1 movie.flv
ffmpeg [[infile options][‘-i’ infile]]... {[outfile options] outfile}...
上の参考サイトであれば、静止画ファイルと音声ファイルの2つをinfileとして入力してる。
-i gazo.jpg
-i onsei.mp3
2.3 コーデックの方法
-acodec copy
オーディオのコーデックは、
今回は音声ファイルをありのままコピーしたいので -acodec copy を指定。
‘-acodec codec’
オーディオのコーデックを codec に強制します。未加工のコーデックデータ をありのままコピーするには
copy
という特別な値を使ってください。 値を使ってください。
ビデオ(ここでは静止画)のコーデックは
-vcodec flvを指定。
2.4 フレームレートの設定
フレームレート(Hz での値、分数または省略形)を設定する(既定値は25)。
- フレームレートは、動画において、単位時間あたりいくつフレーム (映像)・コマのこと)が処理されるかという値。
- 通常、1秒あたりの数値で表し、fps(Frames Per Second、フレームス パー セコンド)という単位で表す。
2.5 出力ファイルを上書きする設定
以上。
RにXLConnectパッケージをインストールする方法
RでExcelファイルを扱うのに"XLConnect"という便利なパッケージがあるようだ。
扱いたいファイルがCSVなら問題ないが、
.xlsなどのExcelファイルはRではそのままでは扱えない。
"XLConnect"についてはこちらを参照した。
http://d.hatena.ne.jp/dichika/20111203/1322839067
http://www.slideshare.net/dichika/tokyor18
install.packages("XLConnect",dep=TRUE)によって
CentOSのRに"XLConnect"パッケージのインストールをしようとしたが、
エラーが出てインストールできない。
依存するパッケージのpackages("rJava")がインストールできないようだ。
> install.packages("rJava")
(略)
configure: error: Java Development Kit (JDK) is missing or not registered in R
Make sure R is configured with full Java support (including JDK). Run
R CMD javareconf
as root to add Java support to R.
If you don't have root privileges, run
R CMD javareconf -e
to set all Java-related variables and then install rJava.
ERROR: configuration failed for package ‘rJava’
* removing ‘/home/hrysim/R/library/rJava’
Warning in install.packages :
installation of package ‘rJava’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpvqHf6w/downloaded_packages’
Make sure R is configured with full Java support (including JDK). Run
R CMD javareconf ということから
OSにJDKが入れなければいけないのか
yumコマンドを使ってJDKをインストール †
yum install java-1.7.0-openjdk-devel
そしてR CMD javareconfを実行
http://r.789695.n4.nabble.com/install-rJava-in-linux-td1579395.html
$ sudo R CMD javareconf
install.packages("XLConnect",dep=TRUE)
でうまくいった。
Cent OS 6.3にffmpegをインストールする方法
ffmpeg(http://ja.wikipedia.org/wiki/FFmpeg)は動画と音声を変換することのできる多彩なオプションが使用可能なソフトウェア。
ffmpegは標準リポジトリで提供されてないパッケージのため,標準ではyumでインストールできないようだ。
そこでRPMforgeリポジトリを導入して、標準リポジトリで提供されないパッケージ(ここではffmpeg)をyumでインストールできるようにする。
- Linuxにおけるリポジトリとは,インターネット上にあるソフトウェアの倉庫のような概念。
- RPMforgeのリポジトリは有用なサードパーティ・パッケージを供給しているリポジトリ。ffmpegはこの中にある。
- yumとはWindows Updateにあたる概念。
1 OSのバージョンを確認する
(http://hetare-engineer.blogspot.jp/2011/03/centos-os.htmlを参考に)
$ cat /etc/redhat-release
CentOS release 6.3 (Final)
さらにLinuxが32bitなのか64bitなのかを確認する。
$ uname -a
ここではx_86_64の表示があるので64bitと分かる。
2 RPMforgeリポジトリを導入するのに2段階の手順を踏む
(http://centossrv.com/rpmforge.shtmlを参考に)
(http://www.penlabo.net/archives/1685も参考)
2.1 yum-prioritiesプラグイン導入
$ sudo yum -y install yum-plugin-priorities
標準リポジトリとRPMforgeリポジトリの両方で提供されるパッケージについて、yum-prioritiesプラグインを導入して標準リポジトリのパッケージがRPMforgeリポジトリのパッケージで上書きされてしまわないようにするという設定をする。
$ sudo vi /etc/yum.repos.d/CentOS-Base.repo
viエディタの使い方(http://net-newbie.com/linux/commands/vi.html)を参考に
各セクションの末尾に
priority=1
を追加。
2.2 RPMforgeリポジトリ導入
2.2.1 ダウンロード ※CentOS6の場合
$ sudo wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
2.2.2 インストール※CentOS6の場合
$ sudo rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
2.2.3 ダウンロードしたファイルを削除
$ sudo rm -f rpmforge-release-*
2.2.4 rpmforge-releaseアップデート
$ sudo yum -y update rpmforge-release
これでRPMforgeのお世話になれます。
3 いよいよffmpegをyumでインストール
(http://www.jinlingren.com/eid6.htmlを参考に)
$ sudo yum --enablerepo=rpmforge install ffmpeg
うまいことComplet!した。