0
我試圖將音頻流編碼爲文件。我收到的音頻緩衝劑,並使用avcodec_fill_audio_frame
創建AVFrame
並將其發送給avcodec_encode_audio2
(之間有一些其他的東西 - 使用的ffmpeg muxing.c作爲一個例子我真的)ffmpeg - 用音頻樣本填充音頻幀
的事情是:音頻緩衝我收到了480個樣本,我使用的編解碼器有一個frame_size
的1152(MP2)。結果是輸出的音頻文件有點「切碎」。聽起來每個音頻幀最後都有一些無聲樣本。
我該如何解決這個問題? 謝謝!
我從JavaScript WebRTC收到它,並使用Google的Native Client對其進行編碼。 在C++方面,我使用pp :: MediaStreamAudioTrack([link](https://developer.chrome.com/native-client/pepper_dev/cpp/classpp_1_1_media_stream_audio_track))來處理流。然後我可以獲得緩衝區並進行配置。 這些都是我可以配置字段: PP_MEDIASTREAMAUDIOTRACK_ATTRIB_BUFFERS, PP_MEDIASTREAMAUDIOTRACK_ATTRIB_SAMPLE_RATE, PP_MEDIASTREAMAUDIOTRACK_ATTRIB_SAMPLE_SIZE, PP_MEDIASTREAMAUDIOTRACK_ATTRIB_CHANNELS, PP_MEDIASTREAMAUDIOTRACK_ATTRIB_DURATION。 你需要更多信息嗎? –
我應該創建一箇中間緩衝區來填充它,直到1152,然後才發送給編碼器? 如果是這樣,我該如何創建並填充這個中間緩衝區? 謝謝:) –