我正在嘗試通過熊威網(wǎng)絡(luò)交易系統(tǒng)將MP4視頻發(fā)送到瀏覽器。使用 FFmpeg,我將其拆分為 Opus OGG 流和附件 B H.264 視頻流。雖然視頻工作正常,但音頻不斷切入和切出。它播放正常幾秒鐘,然后停止一秒鐘,然后繼續(xù)。這是我用于音頻的 FFmpeg 命令:ffmpeg -i demo.mp4 -c:a libopus -vn -page_duration 20000 demo.ogg這是我的發(fā)射器(縮短):var lastGranule uint64for { pageData, pageHeader, err := ogg.ParseNextPage() // Uses Pion OggReader // Taken from the play-from-disk example sampleCount := float64(pageHeader.GranulePosition - lastGranule) lastGranule = pageHeader.GranulePosition sampleDuration := time.Duration((sampleCount/48000)*1000) * time.Millisecond err = audioTrack.WriteSample(media.Sample{Data: pageData, Duration: sampleDuration}) util.HandleError(err) time.Sleep(sampleDuration)}我嘗試將延遲硬編碼為15ms,這解決了它被切斷的問題,但隨后它隨機(jī)播放得太快或開始跳過。由于我在更新FFmpeg命令(添加關(guān)鍵幀和刪除b幀)之前遇到了故障視頻,因此我認(rèn)為這也是編碼器問題。這可能是什么原因造成的?更新:在Chrome中使用WebRTC日志記錄時(shí),我發(fā)現(xiàn)了以下經(jīng)常出現(xiàn)的日志行:[27216:21992:0809/141533.175:WARNING:rtcp_receiver.cc(452)] 30 RTCP blocks were skipped due to being malformed or of unrecognized/unsupported type, during the past 10 second period.這可能是剪切的原因,盡管我無法弄清楚為什么它會(huì)收到格式不正確的數(shù)據(jù)。
- 1 回答
- 0 關(guān)注
- 95 瀏覽
添加回答
舉報(bào)
0/150
提交
取消