最近有項目需要在樹莓派上進行錄音,由於樹莓派3B自身對麥克風錄音支持不足,剛好前陣子破解了小蟻攝像頭1080p國際版,其中有一個功能是RTSP服務器,正好利用RTSP的音頻流進行拉流並保存錄音。
Python使用FFmpeg對RTSP進行音頻拉流,應該是最好的選擇。因為FFmpeg開源,且對音頻的解碼支持十分廣泛。FFmpeg的協議文檔在這里:https://ffmpeg.org/ffmpeg-protocols.html#Examples
具體實現方法如下:
使用環境
python版本:python3
PC系統:windows10
1、小蟻破解后的WEB界面有RTSP地址,如下圖:
2、Python安裝FFmpeg-python模塊
pip install ffmpeg-python
3、下載win10可用的FFmpeg:http://ffmpeg.org/ ,並放在腳本相同的目錄下,我之前有下載了一個可用,鏈接:https://pan.baidu.com/s/18qIlvpyP1mpVvzc9kFzz4g ,提取碼:egud
4、python代碼:
# -*- coding:UTF-8 -*- import ffmpeg host = '192.168.50.166/ch0_2.h264' # 子進程 ( ffmpeg .input('rtsp://' + host, allowed_media_types='audio', rtsp_transport='tcp')['a'] # allowed_media_types='audio' 只讀取音頻流 .filter('volume', 5) # 音量大小控制 .output('saved_audio.aac', ac=1, ar='16k') #ac是聲道,ar是采樣率 .overwrite_output() .run(capture_stdout=True) )