0

を使用しffmpegて、FLV ファイルを MP4 ファイルに変換しました。しかし、MP4 ファイルには 0 バイトがあります。変換に使用したコマンドは

ffmpeg -i sample.flv -b 1104k -ab 122k sample.mp4

これは、上記の ffmpeg コマンドで得た出力です。

ffmpeg version 0.8.5-4:0.8.5-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers
  built on Jan 24 2013 18:01:36 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
[flv @ 0x64f7a0] Estimating duration from bitrate, this may be inaccurate
Input #0, flv, from '/home/kirthiga/Desktop/videopine/test.flv':
  Metadata:
    creationdate    : Thu Mar 28 12:46:29
  Duration: 00:00:09.82, start: 0.000000, bitrate: N/A
    Stream #0.0: Video: flv, yuv420p, 320x240, 1k tbr, 1k tbn, 1k tbc
    Stream #0.1: Audio: nellymoser, 22050 Hz, mono, s16
[buffer @ 0x64f720] w:320 h:240 pixfmt:yuv420p
encoder 'aac' is experimental and might produce bad results.
Add '-strict experimental' if you want to use it.
4

1 に答える 1

2

まず第一に、ffmpeg実際には FFmpeg からではなく、FFmpeg フォークである Libav からの古い、誤った名前の壊れたバージョンを使用しています。詳細については、これをお読みください

エラーは、何らかの理由で、バージョンが追加のライブラリで構成されていないように見えるため、実際に適切な品質で有用なものに変換するのに苦労することです.

コマンドを機能させるには、 を実行する-strict experimental必要がありますが、代わりに私が提案するのは、FFmpegの最近の静的ビルドをダウンロードするか、やなどの依存関係を使用して自分でコンパイルすることです。libfdk_aaclibx264

その後、次のことができます。

ffmpeg -i in.flv -crf 23 -c:v libx264 -c:a libfdk_aac -vbr 4 out.mp4

品質を制御するには、CRF パラメータを 18 から 28 の間で変更します。少ないほど良いことを意味し、23 がデフォルトです。オーディオの場合、品質は VBR オプションで設定され、4 は約 128 kBit/s のステレオを提供し、値は 1 から 5 です (高いほど良いことを意味します)。

本当に固定ビットレートを使用する必要がある場合は、代わりにこれを試してください。

ffmpeg -i in.flv -c:v libx264 -b:v 1104K -c:a libfdk_aac -b:a 122k out.mp4

その他のオプションについては、FFmpeg wikiのx264 エンコーディング ガイドAAC エンコーディング ガイドを参照してください。

于 2013-03-28T14:15:33.337 に答える