2012年7月29日星期日

ffmpeg录音及搭建在线广播

ffmpeg录音及搭建在线广播

适用场景:想录制或转播FM调频电台节目但暂时找不到解决办法。

硬件条件:

  • 声卡: 普通多媒体计算机上配置的声卡就可以胜任, 包括各种主板集成声卡。

  • 收音机: 普通收音机就能胜任, 只要转播的调频电台能够稳定清晰, 没有杂音。

  • 双头音频连接线: 可以到相关的影音制品商店买到双头的音频线, 但是要注意接口必须同时支持声卡和收音机耳机接口。音频双头线自己DIY 制作: 把废弃的两个耳机线截断, 然后把两个带有插头的耳机线接起来就可以作为连接声卡和收音机的接口。

软件条件:

  • 录音软件

  • 流媒体服务器

这里把我自己的实现过程写出来,仅供参考。

硬件环境:

  • 声卡:笔记本电脑自带声卡

  • 收音机:Android手机自带的收音机软件

  • 双头音频连接线:商店购买

软件环境:

  • 操作系统:CentOS6.2_64

  • 录音软件:FFMPEG 0.6

  • 流媒体服务器:Darwin Streaming Server 6.0.3

具体实现:

用双头音频线将手机和电脑相连,具体是将手机的音频输出(即插耳机的那个孔)和电脑的音频输入(即插话筒的那个孔)连接,并打开收音机。

一、本地录制mp3

1、录制

执行如下命令即可:

$ffmpeg -f oss -i /dev/dsp 1.mp3

2、播放测试

$vlc -vv 1.mp3

二、搭建在线广播

1、产生sdp文件

$ffmpeg -f oss -i /dev/dsp -acodec libmp3lame -f rtp rtp://172.16.16.100:20000 > 1.sdp

2、将sdp文件复制到/usr/local/movies目录,并修改sdp文件:删除第一行(SDP:)以便DSS正确识别。

3、播放测试

用vlc等播放器,访问一下地址:

rtsp://172.16.16.100/1.sdp

三、其它

1、mknod找回/dev/dsp

在内核源码目录的Documentation/devices.txt找到/dev/dsp的相关信息:

14 char Open Sound System (OSS)

......

3 = /dev/dsp Digital audio

则执行如下命令

#mknod /dev/dsp c 14 3

如果普通用户对/dev/dsp没有足够权限,增加就可以了,例如

#chmod 666 /dev/dsp

这样/dev/dsp就回来了。

2、源码安装FFMPEG

参考文章:http://www.cnblogs.com/MikeZhang/archive/2012/07/21/installFFmpegFromSourceCode.html

3、DSS的安装

参考文章:http://www.cnblogs.com/MikeZhang/archive/2012/07/06/CentOS6InstallDarwin.html


TAG: