我们有一个运行在RTMP服务器上的音频流,我们尝试使用Python中的librtmp
库来读取该流。我们使用以下代码获取流数据-
import librtmp
# Create a connection
conn = librtmp.RTMP("rtmp://your.server.net/app/playpath", live=True)
# Attempt to connect
conn.connect()
# Get a file-like object to access to the stream
stream = conn.create_stream()
# Read 1024 bytes of data
data = stream.read(1024)
这是我打印data
时的结果:
b'FLV\x01\x05\x00\x00\x00\t\x00\x00\x00\x00\x12\x00\x01M\x00\x00\x00\x00\x00\x00\x00\x02\x00\nonMetaData\x03\x00\x08duration\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08filesize\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05width\x00@\x94\x00\x00\x00\x00\x00\x00\x00\x06height\x00@\x86\x80\x00\x00\x00\x00\x00\x00\x0cvideocodecid\x02\x00\x04avc1\x00\rvideodatarate\x00@i\x00\x00\x00\x00\x00\x00\x00\tframerate\x00@>\x00\x00\x00\x00\x00\x00\x00\x0caudiocodecid\x02\x00\x04mp4a\x00\raudiodatarate\x00@`\x00\x00\x00\x00\x00\x00\x00\x0faudiosamplerate\x00@\xe7p\x00\x00\x00\x00\x00\x00\x0faudiosamplesize\x00@0\x00\x00\x00\x00\x00\x00\x00\raudiochannels\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x06stereo\x00?\xf0\x00\x00\x00\x00\x00\x00\x00\x07encoder\x02\x00\x1eRogue Amoeba RTMP Streamer 1.0\x00\x00\t\x00\x00\x01X\x08\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\xaf\x00\x11\x90\x00\x00\x00\x0f'
data
对象包含带有FLV标记的编码数据,由于文档不足,我们无法使用data
转换为PCM格式。有没有办法做到这一点?或者Python中是否有其他库可以读取rtmp流并转换为PCM格式
目前没有回答
相关问题 更多 >
编程相关推荐