1. mp3转wav
ffmpeg -i file.mp3 -acodec pcm_s16le -ar 16k -ac 1 file.wav < /dev/null
< /dev/null
是一种 shell 中的输入重定向操作符。它的作用是将空输入(即空文件)传递给某个命令,以确保命令不会等待输入而直接执行。这在某些情况下可以用来解决一些特定的问题。
在 Unix/Linux 系统中,/dev/null
是一个特殊的设备文件,它相当于一个黑洞,所有写入它的数据都会被丢弃,读取它则会得到空。
在ffmpeg等命令中,有时会用到 < /dev/null
这样的输入重定向,目的是确保命令在执行时不会等待用户输入。这在批处理或自动化脚本中特别有用,因为有些命令可能会因为等待用户输入而造成脚本停滞或无法继续执行。
例如,如果你在使用ffmpeg命令进行批量处理,而某些情况下ffmpeg可能会尝试等待输入(比如需要输入确认是否覆盖文件等),但你的脚本并不希望等待用户输入,这时可以使用 < /dev/null
来确保命令不会阻塞等待输入,而是直接执行默认操作或跳过需要用户确认的部分。
总之,< /dev/null
是一种常用的技巧,用来避免命令因等待输入而导致脚本无法自动化执行的问题。
2. mp4转wav 同mp3
指定采样率为16000 Hz、16位深度、单声道:
ffmpeg -i input.mp4 -acodec pcm_s16le -ar 16000 -ac 1 output.wav < /dev/null
-i input.mp4
指定输入文件为input.mp4。-acodec pcm_s16le
指定音频编解码器为16位的PCM(pulse-code modulation)编码。-ar 16000
指定采样率为16000 Hz。-ac 1
指定声道数为1,即单声道。output.wav
指定输出文件为output.wav。
这个命令会将输入的MP4文件转换为WAV格式,并按照指定的采样率、深度和声道数进行设置。
3. ffprob 只显示音频时长信息,不显示其他ffmpeg执行信息
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 MP3.mp3
chatgpt
这条命令使用了FFprobe工具来获取MP3音频文件的持续时长(duration)。下面是对命令中各部分的解释:
ffprobe
: FFprobe是FFmpeg多媒体框架的一部分,用于分析多媒体文件的信息。-v error
: 设置输出级别为错误级别,这意味着FFprobe只会输出错误信息,不会输出其他信息。-show_entries format=duration
: 指定要显示的条目(entries),这里是显示格式(format)中的持续时长(duration)信息。-of default=noprint_wrappers=1:nokey=1
: 设置输出格式,这里是指定输出为默认格式,且不显示包装器(wrappers),不显示键(key)。MP3.mp3
: 指定要分析的MP3音频文件,这里假设文件名为MP3.mp3。
综合起来,这条命令的作用是通过FFprobe工具分析MP3音频文件MP3.mp3,并仅输出该文件的持续时长信息,而不显示其他任何信息。