2017-12-20 18 views
0

私は1つのオーディオファイルを.wav形式で持っています。次に、このウェーブファイルのチャンネル数を確認しますか?私はこの目的のためにffmpegツールをインストールしました。しかし、私はコマンドラインに入力しなければならない正しい構文について混乱していますか?誰でもこの問題の解決に私を助けることができますか?ありがとうffmpegコマンドを使用してオーディオWAVファイルのチャンネル数を確認する方法は?

答えて

1

ffmpegをインストールしている場合、おそらくffprobeもあります。 ffprobeで が、これはかなり単純です:

[STREAM] 
index=1 
codec_name=aac 
codec_long_name=AAC (Advanced Audio Coding) 
profile=LC 
codec_type=audio 
codec_time_base=1/48000 
codec_tag_string=mp4a 
codec_tag=0x6134706d 
sample_fmt=fltp 
sample_rate=48000 
channels=2 
channel_layout=stereo 
bits_per_sample=0 
id=N/A 
r_frame_rate=0/0 
avg_frame_rate=0/0 
time_base=1/48000 
start_pts=0 
start_time=0.000000 
duration_ts=1242528 
duration=25.886000 
bit_rate=118831 
max_bit_rate=118831 
bits_per_raw_sample=N/A 
nb_frames=1211 
nb_read_frames=N/A 
nb_read_packets=N/A 
DISPOSITION:default=1 
DISPOSITION:dub=0 
DISPOSITION:original=0 
DISPOSITION:comment=0 
DISPOSITION:lyrics=0 
DISPOSITION:karaoke=0 
DISPOSITION:forced=0 
DISPOSITION:hearing_impaired=0 
DISPOSITION:visual_impaired=0 
DISPOSITION:clean_effects=0 
DISPOSITION:attached_pic=0 
DISPOSITION:timed_thumbnails=0 
TAG:language=und 
TAG:handler_name=SoundHandler 
[/STREAM] 

channels=2channel_layout=stereo

ffprobe -i yourFile.mp4 -show_streams -select_streams a:0 

これはあなたが既にあなたが必要なものを読み取ることができるように、次の出力を与えるだろう。これで、Linux上でgrepにフィードを送ったり、必要な行だけをフィルタリングすることができます。

でも簡単な方法はしかし、あります:
あなたが同様に他のすべてを削除し、いずれか、通常の起動情報を印刷しないように0に冗長性を設定する-of経由で書式設定、印刷を適用し、あなたが望むものを指定すること-show_entriesを使用することができます:

ffprobe -i yourFile.mp4 -show_entries stream=channels -select_streams a:0 -of compact=p=0:nk=1 -v 0 

一般的なステレオオーディオファイルの場合、単に「2」を返します。 詳細については、compact output writer documentationをご覧ください。

+1

ダイレクト出力のコマンド: 'ffprobe in.wav -show_entries stream = channels -select_streams a-compact = p = 0:nk = 1 -v 0' – Mulvya

+0

ああ、すばらしい、私はそれを追加しますshow_entries、didn 'それについて知っている。 – TheSHEEEP

+0

ありがとうございます。私は答えを得た –

関連する問題