1

Red5 v1.0.2 で録画したビデオに問題があります (以前の v1 では問題がありました。ビデオは録画されませんが、1.0.2 では動作します)。flvを記録するときに、それをmp4に変換したいと考えています。しかし、毎回品質/オーディオ同期に問題があるため、設定に問題があります。ffmpegで変換する方法を教えてください(サーバーでの将来の自動プロセスで)。

2 番目の問題は、フラッシュ クライアントのバッファー長が常に0であることですが、v0.8ではバッファーがいっぱいになり、最後に空になるまで待機していました。ここでは、どのくらい待機すればよいかわかりません。私はこの URL http://code.google.com/p/red5/issues/detail?id=312を作成しました。ここでUnPublish.Successを取得するまで待つように言われましたが、そのイベントは ns.close() の後にのみ取得しました

私のフラッシュ クライアント レコード設定は (FP10) です。

ビデオ:

  • 解像度 = 640x360
  • fps = 30
  • キーフレーム間隔 = 15
  • ビデオ品質 = 90
  • 帯域幅 = 0

オーディオ:

  • マイクコーデック = SPEEX
  • エンコード品質 = 9
  • 無音レベル = 0

  • バッファ時間 = 15

VLC で記録されたビデオ パラメータ(チェコ語から英語への翻訳):

ビデオ

  • コーデック: フラッシュ ビデオ (FLV1)
  • 解像度: 640x360
  • フォーマット: 平面 4:2:0 YUV

オーディオ

  • コーデック: Speex オーディオ (spx)
  • 頻度: 16000Hz
  • サンプルあたりのビット数: 16
  • データフロー: 16kbps

ビデオに関する FFMEPG 情報:

 Metadata:
   server          : Red5 Server 1.0.2 Rev: 4616
   creationdate    : Mon Sep 02 23:17:08 CEST 2013
   canSeekToEnd    : true
 Duration: 00:00:33.24, start: 0.000000, bitrate: 645 kb/s
   Stream #0:0: Video: flv1, yuv420p, 640x360, 625 kb/s, 1k tbr, 1k tbn, 1k tbc

   Stream #0:1: Audio: speex, 16000 Hz, mono, s16, 16 kb/s

bsplayer は 25fps を表示していますが、30fps を記録しましたが、これはよくわかりません。

私がffmpegで試したこと(私はffmpeg初心者です)。

最初に 33 秒のビデオを録画しました

コマンドでオーディオを変換すると: ffmpeg -i test.flv -ar 44100 -ab 160k -ac 1 output.mp3、オーディオには30秒しかありません

私はこのコマンドを試しましたが、誰も良い解決策を持っていません

ffmpeg -i test.flv -vcodec mpeg4 -acodec libvo_aacenc output.mp4

ffmpeg -i test.flv -acodec libvo_aacenc -aq 200 outputsss.mp4

ffmpeg -i test.flv -c:v libvpx -c:a libvorbis output.webm // here is sound synced good - but sound have repeating silence lags (every 1-2s)

助けてくれて本当にありがとう、私は何日も変換と戦っています:(

4

1 に答える 1

0

これらのオーディオ遅延の問題もありました (1.0 は記録された FLV ファイルを破損しているため、まだ 0.8 です。1.0.3 で再試行します)。

私たちの解決策は、コマンド ラインの " MediaInfo " ツールを使用してオーディオの遅延を抽出することでした。MediaInfo は XML 出力を返すことができ (この出力はバージョンによって変化する傾向があるため、必ずバージョン文字列を確認してください)、次のようなものを解析しまし/Mediainfo/File/track[@type="Audio"]た。正しいエントリの名前は (この場合)Video_Delay_String3です。

これは、 を使用して ffmpeg トランスコード コマンドに入力され-itsoffset -00:00:00.XXます。

于 2014-08-14T15:06:19.727 に答える