LINUX.ORG.RU

mencoder издевается


0

0

Проблема совсем сбила меня с толку.
Дело вот в чем:
Пишу с ТВ тюнера такой командой:

mencoder -tv \
driver=v4l2:\
input=0:freq=639.5:normid=0:\
width=512:height=384:\
alsa:forcechan=1:audiorate=22050 \
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1200 \
-oac mp3lame -lameopts abr:br=128 \
tv:// -o filename.avi

mencoder показывает 25 fps и 0 framedrop.

Всё бы хорошо, но в результате при воспроизведении получается так:
Идут примерно 2.5 секунды вроде нормально, но дальше кадр клинит
на 0.5 секунды и так цикл продолжается до бесконечности.

Самое смешное что на эти задержки абсолютно никак не влияет
vbitrate, buffersize, fps, width, height и даже при любых аудио/видео
кодеках.

При записи на /dev/ram0 тоже самое.

Помогите пожалуйста разрешить загадку.

Ядро 2.6.11
Mplayer 1.0pre5
Тюнер bt-878

Кусочки dmesg:
Linux version 2.6.11 (root@localhost) (gcc version 3.4.3) #2 Mon Mar 14 19:08:12 MSK 2005
511MB LOWMEM available.
Detected 847.239 MHz processor.
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 515384k/524224k available (2348k kernel code, 8288k reserved, 727k data, 132k init, 0k highmem)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
SGI XFS with large block numbers, no debug enabled
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:pio
hda: MAXTOR 6L040J2, ATA DISK drive
hda: max request size: 128KiB
hda: 78177792 sectors (40027 MB) w/1820KiB Cache, CHS=65535/16/63, UDMA(100)
hda: cache flushes supported
XFS mounting filesystem hda1
Ending clean XFS mount for filesystem: hda1
Real Time Clock Driver v1.12
Linux video capture interface: v1.00
bttv: driver version 0.9.15 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
bttv0: Bt878 (rev 17) at 0000:00:12.0, irq: 10, latency: 32, mmio: 0xe2040000
bttv0: detected: AVerMedia TVCapture 98 [card=13], PCI subsystem ID is 1461:0004
bttv0: using: AVerMedia TVCapture 98 [card=13,autodetected]
bttv0: gpio: en=00000000, out=00000000 in=00fcfff3 [init]
bttv0: Hauppauge/Voodoo msp34xx: reset line init [11]
bttv0: Avermedia eeprom[0x4021]: tuner=5 radio:no remote control:yes
bttv0: using tuner=5
bttv0: i2c: checking for MSP34xx @ 0x80... not found
bttv0: i2c: checking for MSP34xx (alternate address) @ 0x88... not found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
tvaudio: TV audio decoder + audio/video mux driver
tvaudio: known chips: tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6320,tea6420,tda8425,pic1 6c54 (PV9
tuner: chip found at addr 0xc2 i2c-bus bt878 #0 [sw]
tuner: type set to 5 (Philips PAL_BG (FI1216 and compatibles)) by bt878 #0 [sw]
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: PLL: 28636363 => 35468950 .. ok

anonymous

> Detected 847.239 MHz processor.

Не слабоват ли для реалтайма? Помнится, 933-й PIII был на пределе. Да и 2.6 ветка ядер славится безобразной работой с диском. Хотя, с /dev/ram то же самое...

Кроме того, в документации на mplayer настоятельно не рекомендуется использовать при реалтайм-захвате звуковые кодеки, отличные от pcm.

Попробуйте так:

... width=352:height=288 -ovc lavc -lavcopts vcodec=mjpeg:vbitrate=3000 -oac pcm ...

Если будет тот же бред, то mencoder не виноват.

Obidos ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.