ffmpeg 音频常用命令
ffmpeg的使用方式: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Stream specifier
Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers are used to precisely specify which stream(s) a given option belongs to.
A stream specifier is a string generally appended to the option name and separated from it by a colon. E.g. -codec:a:1 ac3 contains the a:1 stream specifier, which matches the second audio stream. Therefore, it would select the ac3 codec for the second audio stream.
A stream specifier can match several streams, so that the option is applied to all of them. E.g. the stream specifier in -b:a 128k matches all audio streams.
An empty stream specifier matches all streams. For example, -codec copy or -codec: copy would copy all the streams without reencoding.
Possible forms of stream specifiers are:
- stream_index
-
Matches the stream with this index. E.g.
-threads:1 4would set the thread count for the second stream to 4. - stream_type[:stream_index]
-
stream_type is one of following: ’v’ or ’V’ for video, ’a’ for audio, ’s’ for subtitle, ’d’ for data, and ’t’ for attachments. ’v’ matches all video streams, ’V’ only matches video streams which are not attached pictures, video thumbnails or cover arts. If stream_index is given, then it matches stream number stream_indexof this type. Otherwise, it matches all streams of this type.
- p:program_id[:stream_index] or p:program_id[:stream_type[:stream_index]] or
-
p:program_id:m:key[:value] In first version, if stream_index is given, then it matches the stream with number stream_index in the program with the id program_id. Otherwise, it matches all streams in the program. In the second version, stream_type is one of following: ’v’ for video, ’a’ for audio, ’s’ for subtitle, ’d’ for data. If stream_index is also given, then it matches stream number stream_index of this type in the program with the id program_id. Otherwise, if only stream_type is given, it matches all streams of this type in the program with the id program_id. In the third version matches streams in the program with the id program_id with the metadata tag key having the specified value. If value is not given, matches streams that contain the given tag with any value.
- #stream_id or i:stream_id
-
Match the stream by stream id (e.g. PID in MPEG-TS container).
- m:key[:value]
-
Matches streams with the metadata tag key having the specified value. If value is not given, matches streams that contain the given tag with any value.
- u
-
Matches streams with usable configuration, the codec must be defined and the essential information such as video dimension or audio sample rate must be present.
Note that in
ffmpeg, matching by metadata will only work properly for input files.
General options
-version
Show version.
-formats
Show available formats (including devices).
-demuxers
Show available demuxers.
-muxers
Show available muxers.
-devices
Show available devices.
-codecs
Show all codecs known to libavcodec.
Note that the term ’codec’ is used throughout this documentation as a shortcut for what is more correctly called a media bitstream format.
-decoders
Show available decoders.
-encoders
Show all available encoders.
-bsfs
Show available bitstream filters.
-filters
Show available libavfilter filters.
-sample_fmts
Show available sample formats.
-layouts
Show channel names and standard channel layouts.
Main options
-f fmt (input/output)
Force input or output file format. The format is normally auto detected for input files and guessed from the file extension for output files, so this option is not needed in most cases.
-i url (input)
input file url
-y (global)
Overwrite output files without asking.
-n (global)
Do not overwrite output files, and exit immediately if a specified output file already exists.
-c[:stream_specifier] codec (input/output,per-stream)-codec[:stream_specifier] codec (input/output,per-stream)
Select an encoder (when used before an output file) or a decoder (when used before an input file) for one or more streams. codec is the name of a decoder/encoder or a special value copy (output only) to indicate that the stream is not to be re-encoded.
-dframes number (output)
Set the number of data frames to output. This is an obsolete alias for -frames:d, which you should use instead.
-frames[:stream_specifier] framecount (output,per-stream)
Stop writing to the stream after framecount frames.
-q[:stream_specifier] q (output,per-stream)-qscale[:stream_specifier] q (output,per-stream)
Use fixed quality scale (VBR). The meaning of q/qscale is codec-dependent. If qscale is used without a stream_specifier then it applies only to the video stream, this is to maintain compatibility with previous behavior and as specifying the same codec specific value to 2 different codecs that is audio and video generally is not what is intended when no stream_specifier is used.
-filter[:stream_specifier] filtergraph (output,per-stream)
Create the filtergraph specified by filtergraph and use it to filter the stream.
filtergraph is a description of the filtergraph to apply to the stream, and must have a single input and a single output of the same type of the stream. In the filtergraph, the input is associated to the label in, and the output to the label out. See the ffmpeg-filters manual for more information about the filtergraph syntax.
See the -filter_complex option if you want to create filtergraphs with multiple inputs and/or outputs.
Audio Options
-aframes number (output)
Set the number of audio frames to output. This is an obsolete alias for -frames:a, which you should use instead.
-ar[:stream_specifier] freq (input/output,per-stream)
Set the audio sampling frequency. For output streams it is set by default to the frequency of the corresponding input stream. For input streams this option only makes sense for audio grabbing devices and raw demuxers and is mapped to the corresponding demuxer options.
-aq q (output)
Set the audio quality (codec-specific, VBR). This is an alias for -q:a.
-ac[:stream_specifier] channels (input/output,per-stream)
Set the number of audio channels. For output streams it is set by default to the number of input audio channels. For input streams this option only makes sense for audio grabbing devices and raw demuxers and is mapped to the corresponding demuxer options.
-an (output)
Disable audio recording. For full manual control see the -map option.
-acodec codec (input/output)
Set the audio codec. This is an alias for -codec:a.
-sample_fmt[:stream_specifier] sample_fmt (output,per-stream)
Set the audio sample format. Use -sample_fmts to get a list of supported sample formats.
-af filtergraph (output)
Create the filtergraph specified by filtergraph and use it to filter the stream.
This is an alias for -filter:a,
常用命令:
提取视频中的音频:
ffmpeg -i input.mp4 -acodec copy -vn output.aac
如果stream红包含多个音频(多个PID),使用map指定要提取的音频。
ffmpeg -i xxx.ts -map 0:1 -acodec copy -vn output.ac3
解码音频:
ffmpeg -i input.aac -ar 48000 -ac 2 output.wav
编码:
ffmpeg -i input.wav output.ac3
ffmpeg 音频常用命令的更多相关文章
- FFMPEG 音频转换命令
音频转换: .转换amr到mp3: ffmpeg -i shenhuxi.amr amr2mp3.mp3 .转换amr到wav: ffmpeg -acodec libamr_nb -i shenhux ...
- ffmpeg CLI常用命令
使用-copy参数: CLI压缩视频时保持音频不变
- FFmpeg 常用命令收集
FFmpeg 常用命令 合并视频 ffmpeg -i "KTDS-820A_FHD.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts i ...
- ffmpeg 常用命令汇总
最近工作常用到ffmpeg 做一些视频数据的处理转换等,用来做测试,今天总结了一下,并参考了网上一些部分朋友的经验,一起在这里汇总了一下,有需要的朋友可以收藏测试一下,有问题可以回帖交流. 1.ffm ...
- 第二章 FFmpeg常用命令
2.1 FFmpeg常见的命令大概分为6个部分 ffmpeg信息查询部分 公共操作参数部分 文件主要操作参数部分 视频操作参数部分 字幕操作参数部分 2.1.1 FFmpeg的封装转换 FFmpeg ...
- FFMpeg 常用命令格式转换,视频合成
FFmpeg都是命令行的,用起来肯定不方便.但是,这对技术宅应该不成问题.下面,我就罗列一些比较实用的使用方法吧. FFmpeg的下载与安装 FFmpeg是开源的.但我们不必去下载它的源代码.下载已经 ...
- ffmpeg常用命令-学习
文章标题:FFmpeg常用命令合集 文章地址:https://blog.csdn.net/lemon_tree12138/article/details/99719520
- FFmpeg常用命令学习笔记(二)录制命令
录制命令 1.FFmpeg录屏命令 ffmpeg -f avfoundation -i 1 -r 30 out.yuv -f:指定使用avfoundation采集数据 -i:指定从哪采集数据,它是一个 ...
- ffmpg常用命令解析
1 相关学习官网地址 官网地址:https://www.ffmpeg.org 安装步骤:https://www.johnvansickle.com/ffmpeg/faq/ 2 涉及的常用命令 视频格式 ...
随机推荐
- spark.streaming.kafka.maxRatePerPartition的理解
spark.streaming.kafka.maxRatePerPartition设定对目标topic每个partition每秒钟拉取的数据条数. 假设此项设为1,批次间隔为10s,目标topic只有 ...
- sqli-labs less-17 --> less-20
Less-17 (报错盲注) 参考资料1:https://www.cnblogs.com/AmoBlogs/p/8673748.html
- redis看这一篇就够了
redis的下载安装 准备相关依赖 yum install gcc 下载安装包 # 切换到存放安装包到目录 cd /usr/local # 下载安装包 wget http://download.red ...
- 关于JavaScript的原型继承与原型链
在讨论原型继承之前,先回顾一下关于创建自定义类型的方式,这里推荐将构造函数和原型模式组合使用,通过构造函数来定义实例自己的属性,再通过原型来定义公共的方法和属性. 这样一来,每个实例都有自己的实例属性 ...
- python is 与==区别
总结 is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同.莱布尼茨说过:“世界上没有两片完全相同的叶子”,这个is正是这样的比较,比较是不是同一片叶子(即比较的id ...
- c++ STL queue:deque+优先队列
/* queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque队列 类型.一:定义queue(要有头文件#include <qu ...
- unrecognized import path "golang.org/x/*"的解决办法
由于国内网络原因,因此访问https://golang.org/网站会被限制.所以在go get下载其他第三方包的时候,如果这个第三方包又引用了https://golang.org/x/下的包,通常会 ...
- php私有组件以及创建自己的composer私有组件(packagist+git+composer)
1.私有组件 大多数时候我们使用的都是公开可用的开源组件,但有时候如果公司使用内部开发的PHP组件,而基于许可证和安全方面的问题不能将其开源,就需要使用私有组件.对Composer而言,这是小菜一碟. ...
- ALSA lib-io plugin
https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_external_plugins.html External Plugin: I/O Plugin ...
- 【做题笔记】洛谷P1506 拯救oibh总部
跑一遍染色法,最后判断哪些位置没被染色即可 一些技巧: 为了判断方便,把字符转换成 int 型的数字. 注意边界问题 详细解释见代码 #include <iostream> #includ ...