我有一個需要將使用ffmpeg不斷更新的音頻文件的內容傳輸到同一LAN上的另一臺計算機。我已經下載了Windows的ffmpeg靜態版本。我瞭解在'ffmpeg'命令中指定目標IP地址和端口號的方法。但我無法弄清楚如何指定要流式傳輸的文件名。如何去做呢?使用ffmpeg從文件中提取音頻流
音頻文件的格式沒有條件。它可以是任何格式。
我有一個需要將使用ffmpeg不斷更新的音頻文件的內容傳輸到同一LAN上的另一臺計算機。我已經下載了Windows的ffmpeg靜態版本。我瞭解在'ffmpeg'命令中指定目標IP地址和端口號的方法。但我無法弄清楚如何指定要流式傳輸的文件名。如何去做呢?使用ffmpeg從文件中提取音頻流
音頻文件的格式沒有條件。它可以是任何格式。
WAV文件不是緩衝編碼數據以進一步流式傳輸的最佳工具。
我寧願使用ffserver。這個想法是,ffmpeg編碼流並將其上傳到ffserver的「feed file」,並且客戶端(例如你的「遠程計算機」)通過http或rtsp(rtp)從ffserver獲取流(它可能是不同格式的流) )。
只需添加音頻流存在,連接FFMPEG其進料和該遠程計算機連接到流:
在ffserver.conf定義單個流:
<Stream audio.sdp>
Feed feed1.ffm
Format rtp
NoVideo
AudioCodec libmp3lame
AudioBitRate 64
AudioSampleRate 22050
</Stream>
或AVI(MPEGTS,FLV,不管)
<Stream audio.avi>
Feed feed1.ffm
Format avi
...
開始音頻編碼/上傳到服務器:
ffmpeg -i [Your source] http://localhost:[ffserver's port]/feed1.ffm
開始獲取RTP(AVI,等)的 「遠程計算機」 上的流。
感謝您付出代碼片段的努力。我可以不使用ffmpeg靜態構建流嗎?所以這裏audio.avi是文件名,我是否需要在ffserver.conf中添加此段並獲取音頻文件的流式傳輸? – Vigo
您能解釋一下如何使用FFMPEG進行流式傳輸嗎?向我們展示你到目前爲止的命令? – Brad
我使用命令「ffmpeg -re -f lavfi -i aevalsrc =」sin(400 * 2 * PI * t)「-ar 8000 -f mulaw -f rtp rtp://10.14.35.23:1234」發件人。爲了播放收到的數據,我使用了「ffplay rtp://10.14.35.24:1234」。這是爲了生成音頻然後發送。如果我已經有一個音頻文件(不一定是WAV文件)會怎麼樣?如何流式傳輸? – Vigo