arinux

Linux サーバー設定備忘録
<< MySQL (9) - MySQL Cluster (3) | main | MySQL (10) - MySQL Cluster (4) >>
ffmpeg


フリーの動画と音声コンバータである ffmpeg のインストール方法を説明します。


メモ サーバー構築環境


機種DELL PE650
OSCentOS 4.5
kernel2.6.18-92.1.18.el5
glibc2.5-24
ffmpegSVN-r17630



メモ lame(mp3 エンコーダ)インストール


  1. http://lame.sourceforge.net/download.php/ から、
    「lame-398-2.tar.gz」 をダウンロードして、「/usr/local/src」 に置きます。

  2. 解凍します。
  3. [root]# cd /usr/local/src
    [root]# tar zxvf lame-398-2.tar.gz
    


  4. コンフィグ、コンパイル、インストールします。
    [root]# ./configure
    [root]# make
    [root]# make install
    



メモ subversion インストール


  1. ffmpeg の最新版のダウンロードのために svn コマンドが必要ですので、subversion をインストールします。
  2. [root]# yum install subversion
    



メモ ffmpeg インストール


  1. ffmpeg のソースをダウンロードします。
  2. [root]# svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
    (省略)
    Checked out external at revision 28738.
    
    Checked out revision 17630.
    


  3. こちらのサイトを参考に、「libavcodec/libmp3lame.c」にパッチを当てます。

  4. コンフィグ、コンパイル、インストールします。
  5. [root]# cd /usr/local/src/ffmpeg
    [root]# ./configure --prefix=/usr/local --enable-libmp3lame --enable-encoder=swf --enable-shared
    --disable-demuxer=v4l --disable-demuxer=v4l2
    [root]# make
    [root]# make install
    
    虫眼鏡 videodev.h に対するエラーの対処


    コンパイル中に、以下のエラーが発生するため、「configure」実行の際、「--disable-demuxer=v4l --disable-demuxer=v4l2」を指定しています。

    /usr/include/linux/videodev.h:56: error: 文法エラー が "ulong" の前にあります
    /usr/include/linux/videodev.h:72: error: 文法エラー が '}' トークンの前にあります
    libavdevice/v4l.c: In function `grab_read_header':
    libavdevice/v4l.c:75: error: storage size of 'tuner' isn't known
    libavdevice/v4l.c:133: error: invalid application of `sizeof' to incomplete type `video_tuner'
    libavdevice/v4l.c:140: error: invalid application of `sizeof' to incomplete type `video_tuner'
    libavdevice/v4l.c:75: 警告: unused variable `tuner'
    make: *** [libavdevice/v4l.o] エラー 1
    



メモ ffmpeg の実行


ここでは、QuickTime の「.mov」ファイルをフラッシュ「.swf」への変換を例にしています。


※ffmpeg のオプションの意味は、こちらに載っています。


  1. 音声のサンプリング値を指定しない場合
  2. [root]# ffmpeg -i ./SampleMovie.mov -acodec libmp3lame sample01.swf
    FFmpeg version SVN-r17630, Copyright (c) 2000-2009 Fabrice Bellard, et al.
    (省略)
    [swf @ 0x894e160]swf does not support that sample rate, choose from (44100, 22050, 11025).
    Could not write header for output file #0 (incorrect codec parameters ?)
    
    虫眼鏡 -ar オプションで、サンプリング周波数の指定が必要です。


  3. 音声をカットする場合
  4. [root]# ffmpeg -i ./SampleMovie.mov -an sample02.swf
    


  5. 音声のサンプリング値を指定
  6. [root]# ffmpeg -i ./SampleMovie.mov -ar 22050 -acodec libmp3lame sample03.swf
    


  7. 変換元の動画ファイルの情報を見る
  8. [root]# ffmpeg -i SampleMovie.mov
    (省略)
    Seems stream 0 codec frame rate differs from container frame rate: 23.98 (2997/125) -> 23.98 (24000/1001)
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'SampleMovie.mov':
      Duration: 00:01:37.15, start: 0.000000, bitrate: 1382 kb/s
        Stream #0.0(eng): Video: h264, yuv420p, 480x228, 23.98 tbr, 23.98 tbn, 23.98 tbc
        Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16
        Stream #0.2(eng): Data: tmcd / 0x64636D74
    At least one output file must be specified
    


  9. ビットレート、フレーム、サイズを指定
  10. [root]# ffmpeg -i ./SampleMovie.mov -b 512k -r 24 -s 480x228 -ar 44100 -acodec libmp3lame sample04.swf
    (省略)
    Output #0, swf, to 'sample04.swf':
        Stream #0.0(eng): Video: flv, yuv420p, 480x228, q=2-31, 512 kb/s, 90k tbn, 24 tbc
        Stream #0.1(eng): Audio: libmp3lame, 44100 Hz, stereo, s16, 64 kb/s
    Stream mapping:
      Stream #0.0 -> #0.0
      Stream #0.1 -> #0.1
    Press [q] to stop encoding
    frame= 2330 fps=108 q=2.0 Lsize=    7004kB time=97.08 bitrate= 591.0kbits/s
    video:6180kB audio:759kB global headers:0kB muxing overhead 0.937022%
    


  11. さらに、音量を倍に指定
  12. [root]# ffmpeg -i ./SampleMovie.mov -b 512k -r 24 -s 480x228 -ar 44100 -vol 512 -acodec libmp3lame sample05.swf
    (省略)
    


  13. HTML編集
  14. [root]# vi /var/www/html/sample05.html
    
    <!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -->
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>ffmpeg TEST</title>
    </head>
    <body topmargin="0" leftmargin="0" bgcolor="#d9d9d9">
    <OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
     CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,0,0" 
     WIDTH=480 HEIGHT=228>
    <PARAM NAME=movie VALUE="sample05.swf">
    <PARAM NAME=bgcolor VALUE=#FFFFFF>
    <PARAM NAME=LOOP VALUE=false>
    <PARAM NAME=quality VALUE=high>
    <EMBED SRC="sample05.swf" WIDTH=480 HEIGHT=228 bgcolor=#FFFFFF LOOP=false QUALITY=high
    PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" 
     TYPE="application/x-shockwave-flash" </EMBED>
    </OBJECT>
    </body>
    </html>
    


  15. swf ファイルを DocumentRoot へコピーします。
  16. [root]# cp sample05.swf /var/www/html/.
    


  17. http://<url>/sample05.html へアクセスして、正常に動画が再生されることを確認します。



つづく

| arinux | Tools | 11:44 | comments(1) | trackbacks(0) | pookmark |
管理者の承認待ちコメントです。
| - | 2018/05/20 3:50 AM |









http://arinux.net/trackback/97
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< May 2018 >>
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ 掲載予定のタイトル
  • Wordpress
  • Pukiwiki
  • SMTPs/POPs/IMAPs
  • fml
  • Tips
+ CSS Nite
+ MOBILE
qrcode
+ LINKS
+ RECOMMEND
+ PROFILE