【笔记】RTMP推流相关
RTSP流转推RTMP服务器:
ffmpeg -i rtsp://admin:12345@127.0.0.1:554/h264/ch33/main/av_stream -vcodec copy -acodec copy -f flv rtmp://rtmp_server_ip:1935/live/ch0
查看系统麦克风设备:
cat /proc/asound/cards
将麦克风音频编码为RTMP并推送RTMP服务器:
ffmpeg -f alsa -ar 22050 -ac 2 -i hw:0,0 -f flv rtmp://rtmp_server_ip:1935/live/ch1
经过简单的摸索,大致得知其中几个参数的含义:
-f alsa 表示使用ALSA(Advanced Linux Sound Architecture)访问输入设备
-ar 22050 表示audio rate为22050,即音频采样率为22050
-ac 2 表示audio channel为2,即两声道
-i hw:0,0 表示输入设备为hw:0,0,具体的设备号可以通过cat /proc/asound/pcm进行查看,其中hw表示直接从硬件编码,对应的还有plughw,表示经过采样率和格式转换
-f flv表示输出类型,这里是rtmp协议对应的flv格式
从RTMP服务器无buffer拉流:
ffplay "rtmp://rtmp_server_ip:1935/live/ch1" -fflags nobuffer