buntu 12.04 LTS 64-Bitを実行していますが、avconvを使用して、コンピューターに接続されているプライマリディスプレイを記録しようとしています(解像度1920x108 =)x11grab at frame per secondを使用し、Pulseを介してコンピューターに接続されたデフォルトのオーディオデバイスからのオーディオを使用します。
ただし、コマンドを実行すると:
avconv -f x11grab -s hd1080 -r 30 -i :0.0 Pulse -i default recording.ogv
端末はエラーを出力します:
Unable to find a suitable output format for 'Pulse'
。
このエラーメッセージが表示される原因は何ですか?
avconvは、出力の名前が「パルス」であると想定しているため、入力であることを示すためにいくつかの追加オプションを追加する必要があります。フォークからのavconvではなく、FFmpegプロジェクトのffmpegを使用するため、例ではffmpegを使用します。
ffmpeg -f x11grab -s hd1080 -r 30 -i :0.0 -f Pulse -i default recording.ogv
残念ながら、これはリポジトリのavconvでは動作しません。これは、私の知る限り--enable-libpulse
でコンパイルされていないためです。だから代わりに試すことができます:
ffmpeg -f x11grab -s hd1080 -r 30 -i :0.0 -f alsa -i Pulse recording.ogv
-f Pulse
を使用する必要がある場合は、コンパイルする必要があります。完全なガイドについては、 buntuでFFmpegとx264をコンパイルする方法 を参照してください。 libpulse-dev
を依存関係として追加し、--enable-libpulse
をconfigure
行に追加する必要があります。良いx11grabの例については HOWTO:Linuxでの適切なスクリーンキャスト も参照してください。 ffmpeg用ですが、おそらくavconvでも動作するはずです。