2016-12-21 9 views
-1

これはAACエンコードに問題があります。私はいくつかの合成音波をエンコードしようとしていますが、期待どおりに動作しません。私が得たファイルは、VLCで演奏されたときにちょうど超短音が得られます。私がプレイしているときは、私が期待しているように演奏されていますが、 "duration:00:00:00.05"と言います。しかし、私はそれよりも多くをエンコードし、もっと演奏しました。だからVLCは超短音を演奏し、ffplayは長いファイル(期待される長さ)を演奏しますが、超短期間でそれを表示します、何が起こっていますか?ffmpegを使用したaacエンコードの結果、超短ファイル

出典:http://pastebin.com/M5MKkEL3

私には間違って見えることの一つはこれです:あなたは、変数「audio_time」を探している場合 、あなたはそれをブレークポイントを設定してそれをすべてのエンコードフレームを読めば、あなたはこれを取得します。

..
エンコードフレーム8:0.00010416666666666666
エンコードフレーム9:0.00012500000000000000
(など)

diffは〜0.00002085で、48kサンプルレート(48k/1024 =〜47)でエンコーダが望んでいる~47サンプルフレーム/秒の1/1000です。

なぜ、1000個の予想されるデータがエンコードされるのですか?

何か不審な点を指差して自由に感じてください!

ありがとうございます!

答えて

0

だから私はそれを見つけ、ライン75で、これは行方不明になった:

time_base.num = per_frame_audio_samples; 
    time_base.den = aud_codec_context->sample_rate; 
    aud_codec_context->time_base = time_base; 

per_frame_audio_samples = 1024私の場合。

関連する問題