stdinでmplayerを再生する方法は?

stdinでmplayerを再生する方法は?

なぜこれがうまくいかないのですか?

cat /dev/video1 | mplayer -

操作できる場合は、「tee」を使用してビデオを同時に再生して録画して、mplayerとmencoderにデータを提供できます。

ライブビデオ(/dev/video1:input=1:norm=NTSC)を再生し、遅延なく同時に録画したいです。

mplayerはビデオをうまく再生します(目立つ遅延なし)。

mencoderはよく文書化されています。

しかし、/dev/videoの出力を「ティー」して両方に供給できる方法がわかりません。 (エンコードしてからエンコードされたビデオをすぐに再生する方法を知っていますが、これにより待ち時間が長すぎます。)

mplayerとmencoderがstdinで読むことができる場合は、 "tee"を使用してこの問題を解決できます。

どうすればいいですか?

[ところで、待ち時間を追加しない限り、同時に再生して録音するソリューションに満足しています。私はmplayerのファンではありません。ただし、最初にエンコードしてから再生すると待ち時間が長くなります。 ]

ベストアンサー1

標準入力で再生するときは、わずかなキャッシュを提供する必要があります。

cat /dev/video1 | mplayer -cache 1024 -

対応するキャッシュオプションがないと、「照会失敗リニアストリームでは後方には見えません」というエラーが発生します。

おすすめ記事