<p><code>ffmpeg</code>应该安装程序<code>ffprobe</code>,该程序可以提供有关电影文件中用于音频的文件格式的信息。你知道吗</p>
<pre><code>ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "trial_copy.mp4"
</code></pre>
<p>例如<code>opus</code></p>
<p>然后它可以用来从文件中复制音频而不转换格式</p>
<pre><code>ffmpeg -v error -i "trial_copy.mp4" -vn -acodec copy "trial_copy.opus"
</code></pre>
<hr/>
<p>我将它用作<code>bash</code>脚本,称为<code>ffextract_audio</code></p>
<pre><code>#!/bin/bash
# get codec name / audio file extension
# -v error
# : without extra info
# -select_streams a:0
# : check only audio stream
# -show_entries stream=codec_name
# : get codec_name
# -of default=noprint_wrappers=1:nokey=1
# : remove key name and wrappers
# -i "$1"
# : input file
EXT=$(ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$1")
BASE=${1%.*}
echo output: $BASE.$EXT
# extract audio from $1 and save in $2
# -v error
# : without extra info
# -i "$1"
# : input file
# -vn
# : without video
# -acodec copy
# : copy audio (doesn't change codec)
# "$1.$EXT"
# : output file with extra extension
ffmpeg -v error -i "$1" -vn -acodec copy "$BASE.$EXT"
</code></pre>
<p>使用</p>
<pre><code>ffextrac_audio trial_copy.mp4
</code></pre>
<p>我能找到你</p>
<pre><code>trial_copy.opus
</code></pre>