https://www.jianshu.com/p/c141fc7881e7

ffmpeg 常见命令功能:

查看电脑设备:
    ffmpeg -list_devices true -f dshow -i dummy

测试摄像头是否可用:
    ffplay -f dshow -i video="USB2.0 PC CAMERA"              USB2.0 PC CAMERA为摄像头名称
          或者
    ffplay -f vfwcap -i 0

查看摄像头和麦克风信息:
    ffmpeg -list_options true -f dshow -i video="USB2.0 PC CAMERA"      USB2.0 PC CAMERA为摄像头名称
    ffmpeg -list_options true -f dshow -i audio="麦克风 (2- USB2.0 MIC)"

本地视频的推流:
    ffmpeg.exe -re -i demo.wmv -f flv rtmp://127.0.0.1:1935/live/123    此时ffmpeg源源不断的把视频推流至服务器,如果地址没错,
    视频文件 demo.wmv                        可以利用vlc或其他手段实现拉流,这里就先不解释如何拉流

摄像头推流:
    ffmpeg -f dshow -i video="USB2.0 PC CAMERA" 
    -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123    
    USB2.0 PC CAMERA为摄像头名称                播放地址: rtmp://127.0.0.1:1935/live/123

麦克风推流:
    ffmpeg  -f dshow -i audio="麦克风 (2- USB2.0 MIC)" 
    -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://127.0.0.1:1935/live/123

麦克风 (2- USB2.0 MIC)                     播放地址: rtmp://127.0.0.1:1935/live/123

声音被推流出去了,通过vlc拉流可以听到录制的声音,但很明显不会有画面

摄像头&麦克风推流:
    ffmpeg  -f dshow -i video="USB2.0 PC CAMERA" 
                 -f dshow -i audio="麦克风 (2- USB2.0 MIC)" 
                 -vcodec libx264 -preset:v ultrafast -tune:v zerolatency 
                 -f flv rtmp://127.0.0.1:1935/live/123

或者   (  USB2.0 PC CAMERA为摄像头名称     麦克风 (2- USB2.0 MIC)     播放地址: rtmp://127.0.0.1:1935/live/123


    
    ffmpeg  -f dshow -i video="USB2.0 PC CAMERA":audio="麦克风 (2- USB2.0 MIC)" 
                 -vcodec libx264  -r 25  -preset:v ultrafast -tune:v zerolatency 
                 -f flv rtmp://127.0.0.1:1935/live/123

画面与声音源源不断的被推流到服务器,接下来我们就应该正式的开发拉流了

分离视频和音频:

ffmpeg -i input_file.mp4 -vcodec copy -an output_file.avi     //只保留了视频      视频文件: input_file.mp4   输出文件: output_file.avi
    
ffmpeg -i input_file.mp4 -acodec copy -vn output_file.mp3     //只保留了音频     视频文件: input_file.mp4   输出文件: output_file.mp3

合并视频和音频:
    ffmpeg -i input_file1.avi 
                -i input_file2.mp3 
                -vcodec copy 
                -acodec copy output_file.mp4

视频文件: input_file1.avi + input_file2.mp3     输出文件: output_file.mp4

选项说明: 
-vcodec copy:指定复制视频数据,不对输如视频进行编解码 
-acodec copy:指定复制音频数据,不对输如音频进行编解码 
-an:指数去除音频数据 
-vn:指定去除视频数据
-vcodec mpeg4:指定输出视频数据按照mp4格式编码 
-acodec mp3:指定输出音频数据按照mp3格式编码

转换音频格式 :
    ffmpeg -i input_file.mp3 -acodec g722 -ar 16k -ac 1 output_file.wav              //转换MP3格式音频为用g722编码的wav格式
    视频文件: input_file.mp3     输出文件: output_file.avi

列举几个生成其他音频格式的命令:
    ffmpeg -i input_file.mp3     // 视频文件: input_file.mp3 
                -acodec g723_1     // g723标准
                -ar 8k         // 采样频率8kHz
                -ab 6.3k         // 码率为5.3kbs/6.3kbs 
                -ac 1 
                output_file.wav     //g723标准要求采样频率8kHz,码率为5.3kbs/6.3kbs

ffmpeg -i input_file.mp3     // 视频文件: input_file.mp3 
                -acodec g726     // g726标准
                -ar 8k         // 采样频率8kHz
                -ab 32k         // 码率为40kbs/32kbs/24kbs/16kbs
                -ac 1 
                output_file.wav    //g726标准要求采样率为8k,码率为40kbs/32kbs/24kbs/16kbs

视频格式转换 :
    ffmpeg -i input_file.avi -f mp4 -vcodec output_file.mp4     //转换avi格式视频为MP4格式

-f mp4:指定输出视频封装格式为MP4 
    -vcodec h264:指定输出视频编码格式为h264

截取图片 :(截取视频开始的图片 )

ffmpeg     -i input_file.h264 
                    -y             //  -y:输出文件可以覆盖已存文件 
        -f image2             //  -f image2:输出图像文件编码为image2 
        -t 0.001             //  -t 0.001:持续时间为0.001s
        -s 420x272         //  -s 420x272:输出图片分辨率420x272
        output_file.jpg

合成视频 : (把连续编号的图片文件生成视频 )

ffmpeg -i input_file%d.jpg 
        -y             // -y:输出文件可以覆盖已存文件 
        -f mp4             // -f mp4:输出视频文件编码为MP4
        output_file.mp4

其他例子:
    ffmpeg -i input_file.h264 
        -y 
        -f image2             //  -f image2:输出图像文件编码为image2 
        -t 1             //  1s内
        -s 420x272         //  -s 420x272:输出图片分辨率420x272
        output_file_%d.jpg 
               // 截取1s内所有的图像,输出文件按照顺序编号

ffmpeg -i input_file.h264 
        -y 
        -f image2 
        -ss 60             // 60s
        -vframes 1         // 一帧
        output_file.jpg 
    //截取60s的一帧视频图片

ffmpeg -i input_file.h264 
        -y 
        -f gif             // gif
        -ss 20             // 20s后
        -vframes 30         // 30帧
        output_file.jpg         // 截取20s后的30帧图片保存为gif

利用ffmpeg实现rtmp推流相关推荐

  1. 利用ffmpeg实现rtmp推流直播

    我们这次利用ffmpeg实现rtmp推流(最终推流地址统一为rtmp://127.0.0.1:1935/live/123) 1.首先下载ffmpeg和ffplay 官方下载链接为:FFmpeg 下载后 ...

  2. python利用ffmpeg进行rtmp推流直播

    思路: opencv读取视频 -> 将视频分割为帧 -> 将每一帧进行需求加工后 -> 将此帧写入pipe管道 -> 利用ffmpeg进行推流直播 pipe管道: 啥是pipe ...

  3. ffmpeg rtmp 封装发送函数_基于FFmpeg进行RTMP推流(一)

    简介 开发环境 FFmpeg sdk下载 项目配置 代码流程 开发环境 vs 2017 FFmpeg sdk下载 下载地址 这里下载3.3.3 - 32bit - share和Dev 8.png Sh ...

  4. 随身wifi刷debian系统后用ffmpeg进行rtmp推流的一些tip(有关水印和卡顿)

    跟风入了随身wifi,虽然只有1.2主频,512内存和4G存储,性能弱鸡,但9块9包邮的价格,立马让它香了起来. 实测,随身wifi的性能用ffmpeg进行rtmp推流毫无压力,cpu和内存占用都极低 ...

  5. 【FFmpeg】rtmp推流

    参考 -参考 编码+rtmp推流 _ffmpeg_process = subprocess.Popen(('/home/ubuntu/encoder/bin/ffmpeg','-re', '-i', ...

  6. ffmpeg实现rtmp推流(linux环境)

    一.安装ffmpeg 参考:linux安装并配置ffmpeg 二.搭建rtmp推流环境 1.下载nginx-rtmp-module nginx-rtmp-module是一个nginx的插件,让ngin ...

  7. FFmpeg入门 - rtmp推流

    FFmpeg入门 - 视频播放_音视频开发老马的博客-CSDN博客介绍了怎样用ffmpeg去播放视频. 里面用于打开视频流的avformat_open_input函数除了打开本地视频之外,实际上也能打 ...

  8. ffmpeg摄像头Android,Android平台下使用FFmpeg进行RTMP推流(摄像头推流)

    简介 今天要给大家介绍如何在Android平台下获取采集的图像,并进行编码推流.同时项目工程也是在之前的代码基础上新增功能 QQ截图20171124114855.png 打开摄像头并设置参数 具体代码 ...

  9. 【音视频】利用ffmpeg实现:音视频的提取,rtmp推流等

    目录 可列出电脑的设备 音频+桌面视频,存mp4 录声音  推流到服务器 音频+桌面视频,推流到服务器 音频+笔记本摄像头,推流到服务器 音频+笔记本摄像头,推流到服务器:通过wvp-pro代+AAC ...

最新文章

  1. glibc-2.23_malloc_consolidate_浅析
  2. day03: oracle的sql增 、删、改,事务处理
  3. 北京地区的网络人口调查
  4. 【爬虫】beautiful soup笔记(待填坑)
  5. Asp.net采集用到的幾個方法
  6. iOS开发系列文章(持续更新……)
  7. mqtt如何判断设备离线_反渗透纯水设备膜元件如何离线清洗?
  8. 谷歌Chrome 80稳定版更新:对浏览器进行两项重大的更改
  9. 冒泡排序,选择排序,插入排序
  10. imei模拟修改_悟空分身 — 支持位置模拟设备修改
  11. 最新手机芯片AI跑分出炉:高通、联发科力压华为
  12. Jmeter怎么连接数据库
  13. 印刷质量缺陷的视觉检测原理概述
  14. git 使用代理加速
  15. 【书影观后感 八】《周期》万事皆周期
  16. excel概率密度函数公式_用excel怎么制作概率密度图_EXCEL 正态分布公式�9�3
  17. linux串口 cat,Linux命令操作之cat与cut
  18. java、vue实现微信网页分享
  19. 【游戏开发小技】TexturePacker生成的图集逆向切分成精灵小图(json | python | PIL | TextureUnPacker | 逆向 | 切图)
  20. qq至尊宝抽取小窍门

热门文章

  1. 深度学习 神经网络的优化方法
  2. 如何用计算机解kkt条件,【直观详解】拉格朗日乘法和KKT条件
  3. Xcalibur的安装及使用说明-低分辨质谱仪采集的数据
  4. 新零售管理系统,凭什么成为每个美业经销商必备的系统?
  5. 计算机专业最简单的行业,五大行业是什么
  6. 简约商务报告PPT模板
  7. 【贪心】中山纪念中学暑期游Day12——少女觉
  8. 随机数字图片验证码的原理、生成和破解
  9. 动态规划-序列联配问题(2)以算代存
  10. 小程序商城|微信小程序商城系统