Temperamental indeed.
I find myself with this problem - after several successful records of many minutes of footage, the next and subsequent invocations just will not capture. A reboot fixes the problem.
OK so something less invasive: reset the video system, sudo ml unld mvp driver, as suggested in the man O2Video. We see the slight pause on the next invocation as the kernel modules are reloaded, but we still cannot capture.
I did try recording as root and my system froze immediately. Pah! That was with logging as my user and using sudo. I tried logging in as root instead, and successfully recorded a few times until a total freeze on invocation. I the initiated reader would immediately point to h/w failure, like memory, but I'm not convinced.
Lets go back to just being a normal user and using dmrecord.
So what's going on ? top, par and gr_osview are my current observation points. In normal "working" operation we can see some, but not excessive CPU user and sys percentage, but mostly idle, as we'd expect as the video is being processed by ICE. In borked operation, we see a hugely increased amount of sys, which is kernel sys call activity. There are no other background tasks stealing cpu.
Why would this be? I'm still trying to find out. dmrecord or mediarecorder both fork a child to do the recording, and it's the combined CPU time consumed by the pair that breaches what the system can do, introduces the hiccup and as I'm cancelling the capture on a drop, dropping the session. In my par output of mediarecorder I have gazillions of select and ioctl calls, but my skills in this area make the system a bit opaque. Oddly I cannot get par and dmrecord to give me any data on the child process (FIX you have to run par as root).
You might thing par has something to do with it too, but when we're in a working state, I have enough headroom to have par collect stats.
oo@mapleleaf:~/MovieTest dmrecord -C -v -p video -p audio dmrec0.mv
Options:
Audio channels: 2
Video device: mvp
Input port: 'Camera Video Input' (1)
Compression scheme: jpeg
Compression engine: ice
Quality: 75
Audio rate: 44100hz
Image (field) height: 240
Image width: 640
video timing = VL_TIMING_525_SQ_PIX
DM_IMAGE_PIXEL_ASPECT = 1.000000
Hit the Enter key to begin recording...
Hit <ctrl>-c to stop recording...
Expecting buffer 11 from video, got buffer 23 instead
Warning: Expecting buffer 11 from compressor, got buffer 23 instead
Error capturing image frame 5
Post-processing output file 'dmrec0.mv' ...
Timing information:
5 image frames = 0.17 seconds of video captured.
Compression information:
Average compressed frame size: 20062.4 bytes
Average compression ratio: 30.6 : 1
Bit rate achieved: 4810161.0 bits/sec
Tried a few things: sudo ml unload the mvp and ice modules and retry - no joy. Tried systune mvpearly_frontiemsc = 0 (was 1) no change.
The only thing that reliably works is a full reboot. Then I can get 4 successful captures, then no more.
Actually sometimes it fixes itself and I can get a few more, but it's not reliable.
And then - just like that, the time it took me to write this out, it's working. Argh!
oo@mapleleaf:~/MovieTest sudo par -e ioctl -e select -i -o dmrec.par dmrecord -t 30.0 -C -v -p video -p audio dmrec0.mv
Options:
Audio channels: 2
Video device: mvp
Input port: 'Camera Video Input' (1)
Compression scheme: jpeg
Compression engine: ice
Quality: 75
Audio rate: 44100hz
Image (field) height: 240
Image width: 640
video timing = VL_TIMING_525_SQ_PIX
DM_IMAGE_PIXEL_ASPECT = 1.000000
Hit the Enter key to begin recording...
Recording was done in real time successfully.
Post-processing output file 'dmrec0.mv' ...
Timing information:
899 image frames = 30.00 seconds of video captured.
Compression information:
Average compressed frame size: 19717.6 bytes
Average compression ratio: 31.2 : 1
Bit rate achieved: 4727497.5 bits/sec
and it works...
oo@mapleleaf:~/MovieTest time dmrecord -t 30.0 -C -v -p video -p audio dmrec0.mv
Options:
Audio channels: 2
Video device: mvp
Input port: 'Camera Video Input' (1)
Compression scheme: jpeg
Compression engine: ice
Quality: 75
Audio rate: 44100hz
Image (field) height: 240
Image width: 640
video timing = VL_TIMING_525_SQ_PIX
DM_IMAGE_PIXEL_ASPECT = 1.000000
Hit the Enter key to begin recording...
Recording was done in real time successfully.
Post-processing output file 'dmrec0.mv' ...
Timing information:
899 image frames = 30.00 seconds of video captured.
Compression information:
Average compressed frame size: 17976.1 bytes
Average compression ratio: 34.2 : 1
Bit rate achieved: 4309947.1 bits/sec
0.698u 3.677s 0:32.16 13.5% 0+0k 2+4io 1pf+0w
and it doesn't work... meh
It sucks being an SGI aficionado...
oo@mapleleaf:~/MovieTest time dmrecord -t 30.0 -C -v -p video -p audio dmrec0.mv
Options:
Audio channels: 2
Video device: mvp
Input port: 'Camera Video Input' (1)
Compression scheme: jpeg
Compression engine: ice
Quality: 75
Audio rate: 44100hz
Image (field) height: 240
Image width: 640
video timing = VL_TIMING_525_SQ_PIX
DM_IMAGE_PIXEL_ASPECT = 1.000000
Hit the Enter key to begin recording...
Expecting buffer 11 from video, got buffer 13 instead
Expecting buffer 15 from video, got buffer 17 instead
Warning: Expecting buffer 11 from compressor, got buffer 13 instead
Error capturing image frame 5
Post-processing output file 'dmrec0.mv' ...
Timing information:
5 image frames = 0.17 seconds of video captured.
Compression information:
Average compressed frame size: 17068.8 bytes
Average compression ratio: 36.0 : 1
Bit rate achieved: 4092415.5 bits/sec
0.027u 0.272s 0:01.94 14.9% 0+0k 2+5io 1pf+0w
CPU: MIPS R12000 Processor Chip Revision: 2.3
FPU: MIPS R12010 Floating Point Chip Revision: 0.0
1 300 MHZ IP32 Processor
Main memory size: 768 Mbytes
Secondary unified instruction/data cache size: 1 Mbyte on Processor 0
Instruction cache size: 32 Kbytes
Data cache size: 32 Kbytes
FLASH PROM version 4.18
Integral SCSI controller 0: Version ADAPTEC 7880
Disk drive: unit 2 on SCSI controller 0
CDROM: unit 4 on SCSI controller 0
Integral SCSI controller 1: Version ADAPTEC 7880
On-board serial ports: tty1
On-board serial ports: tty2
On-board EPP/ECP parallel port
CRM graphics installed
Integral Ethernet: ec0, version 1
Iris Audio Processor: version A3 revision 3
Video: MVP unit 0 version 1.4
AV: AV1 Card version 1, O2Cam type 1 version 0 connected.
Vice: TRE
oo@mapleleaf:~/MovieTest /sbin/uname -R
6.5 6.5.26m