すべてのオーディオトラックを保存してmkvファイル(複数のオーディオトラックを含む)をogv形式に変換する方法
複数のトラックでoggファイル(オーディオ)を作成することはできますか?
Linuxには、avconv
(またはffmpeg
)と呼ばれるユニバーサルメディア変換プログラムがあります。基本的な形式では、拡張機能によって制御されるため、avconv -i input.mkv output.ogm
は適切な変換を行います。
ただし、すべてのストリームを保持するには、-map
オプションを使用する必要があります。マニュアルを引用してみましょう:
-map [-]input_file_id[:stream_specifier][,sync_file_id[:stream_specifier]] | [linklabel] (output)
Designate one or more input streams as a source for the output file. Each input stream is identified by the input file index input_file_id and
the input stream index input_stream_id within the input file. Both indices start at 0. If specified, sync_file_id:stream_specifier sets which
input stream is used as a presentation sync reference.
The first "-map" option on the command line specifies the source for output stream 0, the second "-map" option specifies the source for output
stream 1, etc.
A "-" character before the stream identifier creates a "negative" mapping. It disables matching streams from already created mappings.
An alternative [linklabel] form will map outputs from complex filter graphs (see the -filter_complex option) to the output file. linklabel
must correspond to a defined output link label in the graph.
For example, to map ALL streams from the first input file to output
avconv -i INPUT -map 0 output
For example, if you have two audio streams in the first input file, these streams are identified by "0:0" and "0:1". You can use "-map" to
select which streams to place in an output file. For example:
avconv -i INPUT -map 0:1 out.wav
will map the input stream in INPUT identified by "0:1" to the (single) output stream in out.wav.
For example, to select the stream with index 2 from input file a.mov (specified by the identifier "0:2"), and stream with index 6 from input
b.mov (specified by the identifier "1:6"), and copy them to the output file out.mov:
avconv -i a.mov -i b.mov -c copy -map 0:2 -map 1:6 out.mov
To select all video and the third audio stream from an input file:
avconv -i INPUT -map 0:v -map 0:a:2 OUTPUT
To map all the streams except the second audio, use negative mappings
avconv -i INPUT -map 0 -map -0:a:1 OUTPUT
Note that using this option disables the default mappings for this output file.
したがって、これが必要になります。
avconv -i nput.mkv -map 0:v -map 0:a output.ogm
そして、はい、複数のトラック、さらにはビデオとテキストをOGGファイルに保存できます。これは、ユニバーサルメディアコンテナであるためです。
次に、本当に必要な場合は、oggに再エンコードできます。ただし、元のオーディオエンコーディングを保持することが最も便利な場合があります。
最初にffmpegを使用して、オーディオストリームエンコーディングを識別します。
$ ffmpeg -i $f
Stream #0:0(und): Video: h264 (Main), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc
Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, s16 (default)
次に、ffmpegを使用して、オーディオストリームを抽出します(.mka形式への元のエンコード)。
ffmpeg -i song.mkv -acodec: copy -vn song.mka
私はこれが便利だと感じました:
http://www.hecticgeek.com/2012/12/extract-audio-using-ffmpeg-ubuntu/
そして、これは本当に良いヒントです:
注:疑問がある場合(使用する拡張子がわからない場合)は、「。mka」拡張子(「output.mka」)を使用できます。 「MKA」コンテナ形式には膨大な数のオーディオコーデックを格納できるためです。ただし、それを選択した場合、一部のプレーヤーはオーディオトラックを再生できない場合があります。そのため、ご注意ください。
任意のmmvおよびmp4をmkaオーディオに変換するための便利なスクリプト(元のオーディオエンコーディングを保持):convert_vtoa.sh
#!/bin/bash
for f in *.mkv *.mp4; do
# ffmpeg -i $f
bn=${f%%-[A-Za-z0-9]*}
echo -n bn=$bn
if [[ ! -e "$bn.mka" ]] ; then
echo ffmpeg -i "$f" -acodec: copy -vn "$bn.mka"
ffmpeg -i "$f" -acodec: copy -vn "$bn.mka"
else
echo " ##### already done. #####"
fi
done
dmMediaConverter を変換モードで使用し、oggまたはogv拡張子をaudio.oggなどの出力ファイルに配置できます。また、音声のみのビデオストリームでは[有効]のチェックを外します。ストリームをコピーできます このコンテナで受け入れられた場合 。 h264/h265/vp8/vp9はoggで受け入れられません。