`
haoningabc
  • 浏览: 1477851 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ffmpeg+nginx 的直播(2,直播摄像头和麦克风)

阅读更多
假设我的服务器是centos7 192.168.139.117
分别设置

1.发送端
2.服务端
3.客户端




1.发送端:测试windows
声卡
控制面板-->硬件和声音-->声音-->管理音频设备-->录制-->中文的麦克风改成macfeng (英文就行)

ffmpeg -list_devices true -f dshow -i dummy
C:\Users\Administrator\Desktop\ffmpeg\bin>ffmpeg -list_devices true -f dshow -i
dummy
ffmpeg version N-80101-gd970f7b Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-nv
enc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enabl
e-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --en
able-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libil
bc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-
amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-
librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-li
bspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo
-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libweb
p --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-l
ibzimg --enable-lzma --enable-decklink --enable-zlib
  libavutil      55. 24.100 / 55. 24.100
  libavcodec     57. 43.100 / 57. 43.100
  libavformat    57. 37.100 / 57. 37.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 46.100 /  6. 46.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[dshow @ 0000000000462400] DirectShow video devices (some may be both video and
audio devices)
[dshow @ 0000000000462400]  "Built-in iSight"
[dshow @ 0000000000462400]     Alternative name "@device_pnp_\\?\usb#vid_05ac&pi
d_8507&mi_00#6&c1e2697&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 0000000000462400] DirectShow audio devices
[dshow @ 0000000000462400]  "macfeng (Cirrus Logic CS4206A ("
[dshow @ 0000000000462400]     Alternative name "@device_cm_{33D9A762-90C8-11D0-
BD43-00A0C911CE86}\macfeng (Cirrus Logic CS4206A ("
dummy: Immediate exit requested


得到摄像头的名字和刚才的麦克风设备的名字
摄像头:"Built-in iSight"
麦克风:"macfeng (Cirrus Logic CS4206A ("


测试只要视频的
ffmpeg -r 25 -f dshow -s 640x480 -i video="Built-in iSight" -vcodec libx264 -b 600k   -ab 128k -f flv rtmp://192.168.139.117/hls/mystream

带音频的
ffmpeg -r 25 -f dshow -s 640x480 -i video="Built-in iSight":audio="macfeng (Cirrus Logic CS4206A (" -vcodec libx264 -b 60k  -ab 128k -f flv rtmp://192.168.139.117/hls/mystream


2.服务端
服务端参考http://haoningabc.iteye.com/blog/2301124
注意配置mime.types 和nginx.conf

3.客户端
放在服务器上的客户端的代码
index.html
###########
<b>Play</b> | <a href="record.html">Record</a>
<br/>
<script type="text/javascript" src="/jwplayer/jwplayer.js"></script>

<div id="container">Loading the player ...</div>
    <script type="text/javascript">
        jwplayer("container").setup({
        sources: [
            {
                //file: "rtmp://192.168.139.117/myapp?carg=1/mystream?sarg=2"
                file: "rtmp://192.168.139.117/hls?carg=1/mystream?sarg=2"
            }
        ],
        image: "bg.jpg",
        autostart: false,
        width: 640,
        height: 480,
        primary: "flash"
});
</script>

######################


参考
http://blog.csdn.net/leixiaohua1020/article/details/12029543
https://trac.ffmpeg.org/wiki/DirectShow
https://trac.ffmpeg.org/wiki/Capture/Webcam
分享到:
评论

相关推荐

    C#GB28181对接摄像头,FFMpeg解码并推RTMP流源码

    用C#Winform写的GB28181监控项目,采用FFMpeg解码,推RTMP流,推流需要Nginx-RTMP配合,在我的另一个资源里有,可以实现稳定接收和解码推流播放,播放用FFPlay直接播放即可测试。因为是测试项目,只支持一路视频播放...

    Device_Stream.zip

    在这个场景中,我们使用FFmpeg从摄像头和麦克风采集原始数据,然后进行转码,最后通过RTMP协议将处理后的流推送到Nginx服务器。 1. **FFmpeg采集**: FFmpeg支持多种设备输入,包括摄像头(如V4L2、DShow等)和...

    ffmpeg常用命令

    - `-i`: 指定输入源,这里是本地的摄像头和麦克风。 - `-vcodec libx264`: 视频编码器选择H.264。 - `-acodec libvo_aacenc`: 音频编码器选择AAC。 - `-preset:v ultrafast`: 编码速度设置为最快。 - `-tune:v ...

    Android摄像头RTMP推流

    在Android中,使用JNI调用FFmpeg的avcodec_encode_video2和avcodec_encode_audio2函数,将摄像头和麦克风的原始数据编码为H.264(视频)和AAC(音频)流。 5. **构建RTMP包**:编码后的数据需要封装成RTMP包,这...

    VideoStreamTalk.rar

    在本项目中,ffmpeg被用作视频采集和编码的库,负责将来自摄像头和麦克风的原始数据转化为适合网络传输的格式。 3. **rtmp**:Real-Time Messaging Protocol(实时消息传输协议)是一种应用层协议,常用于在线视频...

    直播盒子源码带详细教程

    这通常通过调用手机或电脑的摄像头和麦克风来实现,源码中可能包含了相应的API接口调用。 2. **编码模块**:采集到的原始音视频数据需要进行编码处理,以便在网络上传输。常见的编码格式有H.264(视频)和AAC(音频...

    Android移动直播源码.zip

    这通常包括设置摄像头参数(如分辨率、帧率)、麦克风音量控制以及预览和录制功能。 2. 编码与推流:编码是将原始音视频数据转换为适合网络传输的格式,如H.264视频编码和AAC音频编码。开源库如FFmpeg可用来实现...

    ios直播技术点汇总

    - 用户必须授予麦克风和摄像头访问权限才能进行直播,需要处理好权限请求。 9. **实时互动**: - **聊天室功能**:允许观众发送文字、表情等互动信息。 - **礼物打赏**:虚拟物品购买和赠送机制,增加用户参与度...

    javaCV_demo.zip

    用于演示如何利用JavaCV进行摄像头录制、麦克风录音、音视频转码以及通过RTSP(Real Time Streaming Protocol)和RTMP(Real-Time Messaging Protocol)进行推流,从而实现简单的直播功能。以下是对这些关键概念的...

    直播方案:安卓平台采集音视频数据,并硬编码为H264码流和AAC码流,移植rtmpdump将音视频数据发送到流媒体服务器.zip

    在Android系统中,通常通过Camera API和AudioRecord类来获取摄像头和麦克风的数据。Camera API允许开发者控制摄像头参数,捕获图像帧,而AudioRecord则用于录制音频。这两个API是Android多媒体框架的基础,使得...

    StreamDemo.rar

    10. **权限管理**:在Android上,访问摄像头和麦克风需要获取相应的运行时权限,开发者需要处理好权限申请流程,确保应用能在用户同意后正常工作。 综上所述,"StreamDemo.rar"可能是一个包含视频直播功能的Android...

    视频聊天

    服务器通常采用流媒体服务器软件,如FFmpeg、Wowza或Nginx-RTMP等。VideoServer的主要任务包括: 1. **连接管理**:建立并维护客户端之间的连接,确保视频和音频数据的稳定传输。 2. **流处理**:接收来自...

    某视频聊天室源码-服务端+客户端+网站程序

    - **设备适配**:支持不同设备的摄像头和麦克风,以及各种屏幕尺寸和分辨率的适配。 - **网络优化**:通过ICE(Interactive Connectivity Establishment)策略,寻找最佳传输路径,优化网络状况差时的通信质量。 ...

    local_streaming_mobile_app

    8. **权限管理**:在移动设备上访问媒体库和使用摄像头、麦克风需要获取用户权限。开发者需了解Android的Manifest和iOS的Info.plist文件中的权限设置。 9. **离线缓存**:为了提供离线观看体验,应用可能需要实现...

Global site tag (gtag.js) - Google Analytics