簡體   English   中英

找不到音頻流

[英]Unable to find audio stream

我正在嘗試改編代碼,以便在ffmpeg和DirectShow的幫助下(在實時流上)添加聲音捕獲功能。

當我嘗試使用ffplay播放AVIsynth文件時,一切正常,我已經獲得了音頻和視頻。 但是,當我通過代碼打開此輸入文件時,我只能找到視頻流。

Avs文件:

V = DirectShowSource("Decklink_HDMI.grf", fps=10, framecount=1000000000, seek=false, audio=false)
A = DirectShowSource("Decklink_Audio.grf", fps=1, framecount=1000000000, video=false)
AudioDub(V, A)

開場代碼:

ffmpeg::AVInputFormat * ifmt;

ifmt = ffmpeg::av_find_input_format("avs");

// Open input file
 if(ffmpeg::avformat_open_input(&pFormatCtx, filename.toStdString().c_str(), ifmt, NULL) != 0)

當我剛打開后在gdb上進行變量監視時。

我正在看pFormatCtx-> nb_streams中的nb_streams,它的值為1。我能在pFormatCtx-> stream中找到的唯一流是一個視頻。 這就是為什么我無法捕捉聲音的原因。

所以我要問我的開業是否做錯了什么,或者我錯過了什么。

附:我知道顯示的代碼很短,但是問題就在這一步!

謝謝

庫爾特

-編輯-

我還注意到,當我轉儲AVFormatContext時,視頻流的大小為456x32。 當我嘗試使用ffplay啟動損壞的腳本時,我可以發現顯示的窗口大小與此相同。

當我使用ffplay播放正確的腳本時,原始視頻格式為1920x1080

我認為我的問題可能比無法獲得音頻流的簡單事實還要深。

我試圖找出如何知道此456x32窗口上顯示的錯誤消息

-編輯2-

我找出此圖像上寫的內容,並解決了我的問題,將舊腳本放置在錯誤的AVS腳本中。

我很慚愧。

我的錯,

一個放置不當的avs文件是我的問題。

無論如何,ffmpeg在顯示錯誤的方式上有點痛苦,被迫制作沒有任何錯誤的msg或異常引發的快照(或者我失敗了)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM