Unixでwmvファイルを他のファイルフォーマットに変換したい

[Unix][備忘録]Unixでwmvファイルを他のファイルフォーマットに変換したい

前回までのあらすじ

ダウンロードしたwmvファイルを他のファイルフォーマットに変換したい。

参考サイト

インストール

ソースをgit clone で取得してくる。

$ git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
Cloning into ffmpeg...
remote: Counting objects: 192168, done.
remote: Compressing objects: 100% (43840/43840), done.
remote: Total 192168 (delta 150640), reused 188926 (delta 148049)
Receiving objects: 100% (192168/192168), 49.63 MiB | 278 KiB/s, done.
Resolving deltas: 100% (150640/150640), done.

$ ./configure --disable-yasm
$ make
$ sudo make install

使い方

基本的に-iオプションでインプットファイルを選択すれば使えるはずなのだが……。

$ ffmpeg -i input.wmv -acodec copy output.mp3
ffmpeg version N-35890-g83b4671, Copyright (c) 2000-2011 the FFmpeg developers
  built on Dec 17 2011 22:36:09 with gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
  configuration: --disable-yasm
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 46. 0 / 53. 46. 0
  libavformat  53. 26. 0 / 53. 26. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
Input #0, asf, from 'input.wmv':
  Metadata:
    WMFSDKVersion   : 12.0.7601.17514
    WMFSDKNeeded    : 0.0.0.0000
    IsVBR           : 0
  Duration: 00:40:30.10, start: 0.000000, bitrate: 110 kb/s
    Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 2 channels, s16, 96 kb/s
Output #0, mp3, to 'output.mp3':
  Metadata:
    WMFSDKVersion   : 12.0.7601.17514
    WMFSDKNeeded    : 0.0.0.0000
    IsVBR           : 0
    TSSE            : Lavf53.26.0
    Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 2 channels, 96 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size=   28464kB time=00:40:30.10 bitrate=  96.0kbits/s   
video:0kB audio:28464kB global headers:0kB muxing overhead 0.001513%

エラーは出ていないが、再生ができない。多分copyだとダメなのかな…。

試しに他のフォーマットで変換してみたら、mp4だとうまくいった。

$ ffmpeg -i input.wmv output.mp4
ffmpeg version N-35890-g83b4671, Copyright (c) 2000-2011 the FFmpeg developers
  built on Dec 17 2011 22:36:09 with gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
  configuration: --disable-yasm
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 46. 0 / 53. 46. 0
  libavformat  53. 26. 0 / 53. 26. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
Input #0, asf, from 'input.wmv':
  Metadata:
    WMFSDKVersion   : 12.0.7601.17514
    WMFSDKNeeded    : 0.0.0.0000
    IsVBR           : 0
  Duration: 00:40:30.10, start: 0.000000, bitrate: 110 kb/s
    Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 2 channels, s16, 96 kb/s
encoder 'aac' is experimental and might produce bad results.
Add '-strict experimental' if you want to use it.

ん、-strict experimentalを付けないとだめらしい。

$ ffmpeg ーn -i input.wmv -strict experimental output.mp4
ffmpeg version N-35890-g83b4671, Copyright (c) 2000-2011 the FFmpeg developers
  built on Dec 17 2011 22:36:09 with gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
  configuration: --disable-yasm
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 46. 0 / 53. 46. 0
  libavformat  53. 26. 0 / 53. 26. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
Input #0, asf, from 'input.wmv':
  Metadata:
    WMFSDKVersion   : 12.0.7601.17514
    WMFSDKNeeded    : 0.0.0.0000
    IsVBR           : 0
  Duration: 00:40:30.10, start: 0.000000, bitrate: 110 kb/s
    Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 2 channels, s16, 96 kb/s
Output #0, mp4, to 'output.mp4':
  Metadata:
    WMFSDKVersion   : 12.0.7601.17514
    WMFSDKNeeded    : 0.0.0.0000
    IsVBR           : 0
    encoder         : Lavf53.26.0
    Stream #0:0: Audio: aac (@[0][0][0] / 0x0040), 44100 Hz, 2 channels, s16, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (wmav2 -> aac)
Press [q] to stop, [?] for help
size=   37922kB time=00:40:30.10 bitrate= 127.8kbits/s   
video:0kB audio:37513kB global headers:0kB muxing overhead 1.091713%

これでできた。

オプション

|*-y|アウトプットファイルを上書きする|

|*-n|アウトプットファイルを上書きしない|

|*-i|インプットファイル指定|

|*-acodec|オーディオコーデック(copyでコピー)|

|*-strict|厳密さ(very > strict > normal(デフォルト) > unofficial > experimental)|

うーんできることが多すぎて惑う。

関連記事(この記事の初版より古い記事はリンクがグレーで表示されます)

  1. 2011/12/24 [Unix] 特定のファイルを探したり除外したり(メモ)
  2. 2011/12/23 [Unix] [Vim] Vimコマンドよく使うものと覚えたいコマンドまとめ
  3. 2011/12/18 [Unix] [Vim] Vimを使い始めるためにインストールから設定まで行った
  4. 2011/12/16 [Subversion] [Unix] svn infoコマンドでリビジョン番号を抜き出す
  5. 2011/12/14 [Unix] [さくらVPS] [StartUp] さくらVPSの初期設定メモ
  6. 2011/12/13 [Subversion] [Unix] svn updateコマンド以外でリビジョン番号を抜き出す
  7. 2011/12/12 [Unix] [Shell] [Solaris] ファイルの拡張子を見て適切なコマンドで解凍してくれるスクリプトを組んだ
  8. 2011/12/09 [Unix] [Solaris] Unixでファイル圧縮・解凍するときに使うコマンドをまとめた
  9. 2011/12/06 [Unix] UnixでストリーミングファイルをDLしたい
  10. 2011/12/04 [Ruby] [Mac] [Unix] 複数のRuby環境の管理・切替ができるrvmをインストールした
  11. 2011/10/08 [Unix] [Dropbox] [さくらVPS] さくらVPSにインストールしたDropboxのEnable LAN syncオプションをOFFにする
  12. 2011/04/23 [Unix] [Dropbox] [さくらVPS] さくらVPSにDropboxをインストールした
  13. 2019/06/20 [Unix] Ctrl+Sで画面停止する機能を無効化する