1
我目前正在編寫一個小腳本,將MP4轉換爲Opus音頻,並將其發送到golang的Discord。最初,我的腳本會通過一個MP4,因爲它通過stdin下載到ffmpeg,然後將stdout傳遞到Opus編碼器,然後傳遞到Discord(完全像this)。在學習之後,我可以用Opus創建ffmpeg,我想剪掉我以前的opus編碼器,並將ffmpeg的輸出直接傳遞給Discord。不輸出Opus原始音頻
以前,我的ffmpeg的命令看起來像這樣(用第二OPUS編碼器)現在
ffmpeg -i - -f s16le -ar 48000 -ac 2 pipe:1
,無編碼器,讓ffmpeg的完成所有的工作,這是我想出如此遠。
ffmpeg -i - -f s16le -ar 48000 -ac 2 -acodec libopus -b:a 192k -vbr on -compression_level 10 pipe:1
使用此命令,不過聲音沒有得到通過不和諧的服務器所接受,這意味着我懷疑鉅著音頻不出來的另一端。沒有錯誤輸出。我有沒有做過錯誤的ffmpeg可能造成這種情況?
嘗試更詳細的答案 – kwarunek
@Mulvya這肯定會輸出一個opog文件在一個ogg容器中,謝謝!雖然它可能輸出沒有ogg容器的原始opus編碼數據? – Dustin
你可以試試'-map 0:a -f data pipe:1' – Mulvya