Linux でビデオ録画【二枚目】

このエントリーをはてなブックマークに追加
287login:Penguin
>>275
できてるっぽい。
副音声取れてるし間違い無いと思うけど(自信無し)。
合ってるかどうか分からんけど何したか書いてみる。

基本的なところは苦労との掲示板にも出てた
http://www.satani.org/paso/paso041.html
とおなじ。
最初は手を入れずに使ってた。
saa7134のロードの際にcard=10のオプションを食わせて、
saa7130のふりをさせたらxawtvでテレビが見れた。
だが、このままだとoss=1のオプションを食わせても、
saa7133のdsp(うちだと/dev/dsp1)からはちっとも音がでなかった。

デバッグオプションを入れてdmesgを見てたら、
saa7134-oss.cの545行目、746行目のsaa_dsp_writelのところでtimeoutしてた。
たぶん、音声の入力を切り替えるところだと思うんだけど、どうも書き込めてないらしい

四苦八苦して、インチキだけど同じsaa_dsp_writelをつかっているsaa7134-tvaudio.cの
723行目の下にこれをコピーしてみた。
こんな感じ。
288266:03/11/21 18:34 ID:1nM47vGB
*** saa7134-tvaudio.c.orig 2003-10-15 19:10:05.000000000 +0900
--- saa7134-tvaudio.c 2003-11-20 01:10:09.000000000 +0900
***************
*** 721,726 ****
--- 721,744 ----
/* unmute */
saa_dsp_writel(dev, 0x474 >> 2, 0x00);
saa_dsp_writel(dev, 0x450 >> 2, 0x00);
+ saa_dsp_writel(dev, 0x46c >> 2, 0xbbbbbb);
+
+ value = 0xbbbbbb;
+
+ switch (dev->oss.input) {
+ case TV:
+ value = 0xbbbb10; /* MAIN */
+ break;
+ case LINE1:
+ value = 0xbbbb32; /* AUX1 */
+ break;
+ case LINE2:
+ value = 0xbbbb54; /* AUX2 */
+ break;
+ }
+ saa_dsp_writel(dev, 0x46c >> 2, value);
+

for (;;) {
if (dev->thread.exit || signal_pending(current))
289266:03/11/21 18:36 ID:1nM47vGB
うぎゃ、スペース飛んでる。>288

んで、
modprobe saa7134 card=10 oss=1
でロードして、

mencoder -tv on:driver=v4l:width=640:height=480:norm=NTSC:forceaudio:
chanlist=japan-bcast:channel=1:input=2:adevice=/dev/dsp1:
audiorate=32000:amode=1
-ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame
--lameopts cbr:br=64 -o test.mpg -endpos 10
(分けて書いてるけど一行)

みたいな感じで音源に/dev/dsp1を指定してやると、できた。
audiorateは32000固定かもしんない。

長くてスマソ
勘違いしてたら、指摘よろ。