当前位置: 首页 > news >正文

直播相关03-录制麦克风声音, ffmpeg 命名,使用命令行完成录音

一 ffmpeg 命令

ffmpeg arg1 arg2 -i arg3 arg4 arg5ffmpeg 全局参数 输入文件参数 -i 输入文件 输出文件参数 输出文件arg1:全局参数
arg2:输入文件参数
arg3:输入文件
arg4:输出文件参数
arg5:输出文件

二 ffprobe 命令

ffprobe [OPTIONS] [INPUT_FILE]
# OPTIONS:参数
# INPUT_FILE:输入文件

三 ffplay 命令

ffplay [options] input_file
# options:参数
# input_file:输入文件

四 hide_banner

增加-hide_bannder参数可以隐藏一些冗余的描述信息,可以去实践比较以下2条命令的区别:

ffprobe xx.mp3ffprobe -hide_banner xx.mp3# ffmpeg、ffprobe、ffplay都适用

五 通过命令行录音

在 windows, linux,mac 上 的 多媒体库 是不一样的,因此我们先要看一下 当前系统的 多媒体库 是啥

5.1 查看当前系统的媒体库是啥?

ffmpeg -devices

Windows的输出结果如下所示:

  • 列表中有个dshow,全名叫DirectShow,是Windows平台的多媒体系统库
  • 我们可以使用dshow去操作多媒体输入设备(比如录音设备)
C:\Users\Administrator>ffmpeg -hide_banner -devices
Devices:D. = Demuxing supported.E = Muxing supported--E caca            caca (color ASCII art) output deviceD  dshow           DirectShow captureD  gdigrab         GDI API Windows frame grabberD  lavfi           Libavfilter virtual input deviceD  libcdioE sdl,sdl2        SDL2 output deviceD  vfwcap          VfW video capture

linux 上是这样的

  • 列表中有个alsa,是linux平台的多媒体系统库
  • 我们可以使用alsa去操作多媒体输入设备(比如录音设备)
ffmpeg version 7.0 Copyright (c) 2000-2024 the FFmpeg developersbuilt with gcc 13 (Ubuntu 13.2.0-23ubuntu4)configuration: --prefix=/home/hunandede/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/hunandede/ffmpeg_build/include --extra-ldflags=-L/home/hunandede/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/hunandede/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-pic --enable-shared --enable-nonfreelibavutil      59.  8.100 / 59.  8.100libavcodec     61.  3.100 / 61.  3.100libavformat    61.  1.100 / 61.  1.100libavdevice    61.  1.100 / 61.  1.100libavfilter    10.  1.100 / 10.  1.100libswscale      8.  1.100 /  8.  1.100libswresample   5.  1.100 /  5.  1.100libpostproc    58.  1.100 / 58.  1.100
Devices:D. = Demuxing supported.E = Muxing supported---DE alsa            ALSA audio outputDE fbdev           Linux framebufferD  kmsgrab         KMS screen captureD  lavfi           Libavfilter virtual input deviceDE oss             OSS (Open Sound System) playbackE sdl,sdl2        SDL2 output deviceDE sndio           sndio audio playbackDE video4linux2,v4l2 Video4Linux2 output deviceD  x11grab         X11 screen capture, using XCBE xv              XV (XVideo) output device

Mac的输出结果如下所示:

  • 列表中有个avfoundation,是Mac平台的多媒体系统库
  • 我们可以使用avfoundation去操作多媒体输入设备(比如录音设备)

Devices:D. = Demuxing supported.E = Muxing supported--D  avfoundation    AVFoundation input deviceD  lavfi           Libavfilter virtual input deviceE sdl,sdl2        SDL2 output device

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 收藏:不错的中兴的数据治理的PPT
  • framebuffer在Ubuntu上的操作
  • python字典和列表学习
  • Vim编辑器的使用方法
  • 信刻光盘安全隔离与信息交换系统
  • Lvgl8.3 自定义矩形按键的标签,图标 lv_btnmatrix
  • bpftrace使用
  • git 压栈存储当前分支修改,出栈使用保存
  • at:定时任务,仅执行一次
  • Python 内置的一些数据结构
  • ISAC: Toward Dual-Functional Wireless Networks for 6G and Beyond【论文阅读笔记】
  • 02 Flask-快速上手
  • Docker中的容器内部无法使用vi命令怎么办?
  • 敏捷开发方法例题
  • 说一下解除docker限制内存警告
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 11111111
  • 5、React组件事件详解
  • Android框架之Volley
  • Asm.js的简单介绍
  • chrome扩展demo1-小时钟
  • Netty源码解析1-Buffer
  • react-native 安卓真机环境搭建
  • ReactNativeweexDeviceOne对比
  • React系列之 Redux 架构模式
  • Redis的resp协议
  • SAP云平台里Global Account和Sub Account的关系
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 分布式任务队列Celery
  • 服务器从安装到部署全过程(二)
  • 欢迎参加第二届中国游戏开发者大会
  • 入口文件开始,分析Vue源码实现
  • 阿里云服务器购买完整流程
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • (补充)IDEA项目结构
  • (二) 初入MySQL 【数据库管理】
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (含笔试题)深度解析数据在内存中的存储
  • (强烈推荐)移动端音视频从零到上手(下)
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (一)SvelteKit教程:hello world
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)详解PHP处理密码的几种方式
  • (自用)交互协议设计——protobuf序列化
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .mysql secret在哪_MySQL如何使用索引
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET MAUI Sqlite程序应用-数据库配置(一)
  • .NET 反射 Reflect
  • .NET 分布式技术比较
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • /proc/interrupts 和 /proc/stat 查看中断的情况