公式サイト
http://ffmpeg.org/
エンコード、ストリーミング配信を高画質高音質で行えるffmpeg。
OSに拘らず対応コーデックが多い。
対応コーデックが多く、多彩なオプションを使用可能。
コマンドラインから使用することができる。
ffmpegならこちらへ 4
https://egg.5ch.net/test/read.cgi/software/1555776689/
ffmpegならこちらへ 5
■ このスレッドは過去ログ倉庫に格納されています
2020/08/13(木) 19:43:45.34ID:j48XP1pP0
2020/11/03(火) 10:02:06.94ID:SyIktYEn0
Windows下でループバック録音によるビットパーフェクトを検証してます
現在WavSpectraで録音するとビットパーフェクトできる環境です
これをCUIにおきかえたくFFMpegでの録音方法を調べています
FFMpegの下記コマンドでは最下位ビットが常時化けるのですが
これを抑止する方法はありますか?
DirectShowを使っている時点でリサンプリング処理が入ってしまうんですかね
ffmpeg -y -f dshow -i audio="Virtual Audio Cable" "out.wav"
現在WavSpectraで録音するとビットパーフェクトできる環境です
これをCUIにおきかえたくFFMpegでの録音方法を調べています
FFMpegの下記コマンドでは最下位ビットが常時化けるのですが
これを抑止する方法はありますか?
DirectShowを使っている時点でリサンプリング処理が入ってしまうんですかね
ffmpeg -y -f dshow -i audio="Virtual Audio Cable" "out.wav"
2020/11/03(火) 11:43:16.18ID:y36Tqz+s0
憶測だけどdshowの時点でだろうね
もしそうならDirectShowって「再生する(直前の生の)データ」じゃなくて「再生してるデータ」を渡してくるのかな?
それかキャプチャの周期が周波数の小数点以下の割合でずれてるとか?
もしそうならDirectShowって「再生する(直前の生の)データ」じゃなくて「再生してるデータ」を渡してくるのかな?
それかキャプチャの周期が周波数の小数点以下の割合でずれてるとか?
2020/11/03(火) 12:56:17.84ID:y36Tqz+s0
ファイル形式やコーデック固有のオプションの検索(ffmpeg Documentationに載ってないものも有る)
https://google.com/search?q=site%3Affmpeg.org%2Fdoxygen+"libavformat"+OR+"libavcodec"+"Variable+Documentation"+"const%20AVOption%20options[]"+【ここに調べたいファイル形式(format / muxer / demuxer)やコーデック】
@新しい版のffmpegに対応するためにできるだけ更新日時が新しい検索結果のページに飛ぶ
A「Variable Documentation」という見出しの段落の「AVOption」のInitial value (初期値)を見る
https://google.com/search?q=site%3Affmpeg.org%2Fdoxygen+"libavformat"+OR+"libavcodec"+"Variable+Documentation"+"const%20AVOption%20options[]"+【ここに調べたいファイル形式(format / muxer / demuxer)やコーデック】
@新しい版のffmpegに対応するためにできるだけ更新日時が新しい検索結果のページに飛ぶ
A「Variable Documentation」という見出しの段落の「AVOption」のInitial value (初期値)を見る
2020/11/03(火) 12:56:58.47ID:SyIktYEn0
>>427
レスありがとうございます。
ffmpegでの録音時にdirectshowではなく
wasapiドライバを指定できれば解決すると思ってるんですが
その方法がわかりません。そもそもできるのかも含めて。
苦し紛れに試した下記も機能せず。
set SDL_AUDIODRIVER=wasapi
WavSpectraでもdirectsoundドライバで録音すると最下位ビットが常時化けます。
ffmpegはdirectshow時にリサンプリングが行われ
数値の扱いにおいて丸め誤差が生まれているのかな思います。
レスありがとうございます。
ffmpegでの録音時にdirectshowではなく
wasapiドライバを指定できれば解決すると思ってるんですが
その方法がわかりません。そもそもできるのかも含めて。
苦し紛れに試した下記も機能せず。
set SDL_AUDIODRIVER=wasapi
WavSpectraでもdirectsoundドライバで録音すると最下位ビットが常時化けます。
ffmpegはdirectshow時にリサンプリングが行われ
数値の扱いにおいて丸め誤差が生まれているのかな思います。
2020/11/03(火) 13:01:23.57ID:SyIktYEn0
2020/11/03(火) 14:41:47.40ID:y36Tqz+s0
2020/11/03(火) 14:50:42.12ID:y36Tqz+s0
>>428
あと428はformat・codecじゃなくてdeviceだった、正しくは以下
過去スレで僕がDocumentationに載ってないgifのオプションを見つけた時のと同じ類いのページがヒットする
format(gifなど)・codec(gifなど)は
https://www.google.com/search?q=site%3Affmpeg.org%2Fdoxygen+"libavformat"+OR+"libavcodec"+"Variable+Documentation"+"AV_OPT_TYPE_FLAGS"+調べたいformatかcodec
device(dshowなど)は
https://google.com/search?q=site%3Affmpeg.org%2Fdoxygen+"libavdevice"+"Variable+Documentation"+"const%20AVOption%20options[]"+調べたいdevice
あと428はformat・codecじゃなくてdeviceだった、正しくは以下
過去スレで僕がDocumentationに載ってないgifのオプションを見つけた時のと同じ類いのページがヒットする
format(gifなど)・codec(gifなど)は
https://www.google.com/search?q=site%3Affmpeg.org%2Fdoxygen+"libavformat"+OR+"libavcodec"+"Variable+Documentation"+"AV_OPT_TYPE_FLAGS"+調べたいformatかcodec
device(dshowなど)は
https://google.com/search?q=site%3Affmpeg.org%2Fdoxygen+"libavdevice"+"Variable+Documentation"+"const%20AVOption%20options[]"+調べたいdevice
2020/11/03(火) 15:53:41.32ID:SyIktYEn0
>>431
こちらこそ色々ありがとうございます。
その後、sox.exe と fmedia.exe でも同様の検証をしましたが
やはり無音の録音で、最下位ビットがランダム状態でした
(WavSpectra(wasapi)ではきれいに0x00が並びます)
またsox ,fmediaとも任意の録音デバイスは指定できますが
wasapiドライバを指定するには至ってません。
唯一soxは環境変数でAUDIODRIVERを指定可能でしたが
私の環境では設定できる値が"waveaudio"の一択でした。
(おそらくミキサー経由のドライバ)
sox ,fmediaが内部コードでどのAPI(DShow,DSound,MME)を使っているかは不明ですが
結局のところミキサーを経由しているのが原因っぽいですね。
こちらこそ色々ありがとうございます。
その後、sox.exe と fmedia.exe でも同様の検証をしましたが
やはり無音の録音で、最下位ビットがランダム状態でした
(WavSpectra(wasapi)ではきれいに0x00が並びます)
またsox ,fmediaとも任意の録音デバイスは指定できますが
wasapiドライバを指定するには至ってません。
唯一soxは環境変数でAUDIODRIVERを指定可能でしたが
私の環境では設定できる値が"waveaudio"の一択でした。
(おそらくミキサー経由のドライバ)
sox ,fmediaが内部コードでどのAPI(DShow,DSound,MME)を使っているかは不明ですが
結局のところミキサーを経由しているのが原因っぽいですね。
2020/11/03(火) 17:15:43.02ID:y36Tqz+s0
2020/11/03(火) 17:32:41.79ID:y36Tqz+s0
またまた >>428 の修正、これで最後
ffmpegのソース斜め読みしてたら#defineのあと「AV_OPT_FLAG_〜」で文脈固有のオプションが定義されてるのが分かったので、下の検索で全部ヒットする
@下記の検索
A新しめのページに飛ぶ
(ここでソースコードのページならそこで"AV_OPT_FLAG_"をページ内検索して自力でオプション定義を探しに行く。説明ページならB以降でちょっと楽できる)
B見出し"Variable"の段落「const AVOption 」に続く「options []」の初期値を参考にする
CBが無ければ見出し"Macros"の段落の(OFFSET(x)じゃない方の)#defineのリンクに飛んでソースコードを確認(リンクから飛べばプログラムが理解できない人でも参考にできる感じの箇所に飛ぶ)
https://google.com/search?q=site:ffmpeg.org/doxygen/+%22define%22+AV_OPT_FLAG_ENCODING_PARAM+OR+AV_OPT_FLAG_DECODING_PARAM+OR+AV_OPT_FLAG_METADATA+OR+AV_OPT_FLAG_AUDIO_PARAM+OR+AV_OPT_FLAG_VIDEO_PARAM+OR+AV_OPT_FLAG_SUBTITLE_PARAM+【ここに調べたいcodecなりformatなりdeviceなり】
ffmpegのソース斜め読みしてたら#defineのあと「AV_OPT_FLAG_〜」で文脈固有のオプションが定義されてるのが分かったので、下の検索で全部ヒットする
@下記の検索
A新しめのページに飛ぶ
(ここでソースコードのページならそこで"AV_OPT_FLAG_"をページ内検索して自力でオプション定義を探しに行く。説明ページならB以降でちょっと楽できる)
B見出し"Variable"の段落「const AVOption 」に続く「options []」の初期値を参考にする
CBが無ければ見出し"Macros"の段落の(OFFSET(x)じゃない方の)#defineのリンクに飛んでソースコードを確認(リンクから飛べばプログラムが理解できない人でも参考にできる感じの箇所に飛ぶ)
https://google.com/search?q=site:ffmpeg.org/doxygen/+%22define%22+AV_OPT_FLAG_ENCODING_PARAM+OR+AV_OPT_FLAG_DECODING_PARAM+OR+AV_OPT_FLAG_METADATA+OR+AV_OPT_FLAG_AUDIO_PARAM+OR+AV_OPT_FLAG_VIDEO_PARAM+OR+AV_OPT_FLAG_SUBTITLE_PARAM+【ここに調べたいcodecなりformatなりdeviceなり】
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★8 [♪♪♪★]
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★4 [♪♪♪★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 [ぐれ★]
- 【芸能】44歳・池脇千鶴、激変ぶりにネット衝撃 「まるで別人…」「変化が凄い!!」の声 [冬月記者★]
- なぜ立花孝志氏の言葉は信じられたのか…"異例の逮捕"が浮き彫りにした「SNSの危険な病理」 [ぐれ★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★15 [BFU★]
- 🏡😡
- 中国「ごめん、色々やりすぎた謝るから和解してほしい」高市首相「舐めてんの?」 [834922174]
- 中国「国連さん聞いて!日本が反省しないの!日本は武力介入しようとしてるよ!」
- どマゾ豚男だけど苦痛系で痛ぶってくれるS女を探してます
- 【悲報】日本人、突然全員高市早苗の反転アンチになる。外交勝負服発言がどうしても許せない模様 [517791167]
- 龍が如く ON THE END 極
