FFmpeg常用命令集合

之前很多文章都写到编解码里了,以后的FFmpeg相关文章会直接写到"FFmpeg"类别中;

更多文章,可以参考FFmpeg官方网站https://ffmpeg.org/,文档 和 https://trac.ffmpeg.org/wiki

这里先说音频解码:

如:ffmpeg -i input.flv -f s16le -acodec pcm_s16le output.raw

from:https://trac.ffmpeg.org/wiki/audio%20types

Audio Types

FFmpeg can read various raw audio types (sample formats) and demux or mux them into different containers (formats). For example, you can read and write raw PCM audio into a WAV container.

Sample Formats

Raw audio in FFmpeg can take several different "forms", i.e. sample formats. For instance:

  • s means "signed" (for the integer representations), u would mean "unsigned"
  • 16 means 16 Bits per sample
  • le means "little endian" coding for the samples

You can see a list of supported sample formats by inspecting the ffmpeg -formats output:

$ ffmpeg -formats | grep PCM
 DE alaw            PCM A-law
 DE f32be           PCM 32-bit floating-point big-endian
 DE f32le           PCM 32-bit floating-point little-endian
 DE f64be           PCM 64-bit floating-point big-endian
 DE f64le           PCM 64-bit floating-point little-endian
 DE mulaw           PCM mu-law
 DE s16be           PCM signed 16-bit big-endian
 DE s16le           PCM signed 16-bit little-endian
 DE s24be           PCM signed 24-bit big-endian
 DE s24le           PCM signed 24-bit little-endian
 DE s32be           PCM signed 32-bit big-endian
 DE s32le           PCM signed 32-bit little-endian
 DE s8              PCM signed 8-bit
 DE u16be           PCM unsigned 16-bit big-endian
 DE u16le           PCM unsigned 16-bit little-endian
 DE u24be           PCM unsigned 24-bit big-endian
 DE u24le           PCM unsigned 24-bit little-endian
 DE u32be           PCM unsigned 32-bit big-endian
 DE u32le           PCM unsigned 32-bit little-endian
 DE u8              PCM unsigned 8-bit

These represent all the built-in raw audio sample formats.

Reading and Writing Raw Audio

FFmpeg can take input of raw audio types by specifying the type on the command line. For instance, to convert a "raw" audio type to a ".wav" file:

ffmpeg -f pcm_s32le input_filename.raw output.wav

You can specify number of channels, etc. as well, ex:

ffmpeg -f u16le -ar 44100 -ac 1 -i input.raw output.wav

The default for muxing into WAV files is pcm_s16le. You can change it by specifying the audio codec and using the WAV file extension:

ffmpeg -i input -c:a pcm_s32le output.wav

which will create a WAV file containing audio with that codec (not a raw file). There are also other containers that can contain raw audio packets, like pcm_bluray.

If you want to create a raw file, don't use the WAV format, but the raw one (as seen in the table above), e.g. s16le, and the appropriate audio codec:

ffmpeg -i input -f s16le -c:a pcm_s16le output.raw

rtp:

cd /d %~dp0
ffmpeg.exe -f dshow -i video="Lenovo EasyCamera" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f rtp rtp://10.155.27.187:5000>../test.sdp

pause

cd /d %~dp0

ffplay.exe -protocol_whitelist "file,http,https,rtp,udp,tcp,tls" test.sdp

ffmpeg 将双声道 分离为两个单声道:

ffmpeg -y -i 1.wav -filter_complex "channelsplit=channel_layout=stereo[FL][FR]" -map "[FL]" -ac 1 channel1.wav -map "[FR]" -ac 1 channel2.wav

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chinabinlang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值