Suggestions for 8mm Home Movie Conversion

AgentWindu

New Member
Hi all,
My first post here so please excuse me if I get some forum conventions wrong.

I'm converting home movies on my M1 Pro 14" MBP. The videos are recorded in Video 8 and Hi8. I have configured my Canvas and Output to be in 1920x1440 (4:3). I have a (relatively cheap) capture card from DigitNow and the footage seems to be coming in at 720x480P, so seemingly I have upscaled the footage around 3x upscaled from the original footage. The films are PAL format and are at 25FPS. I had a bit rate set at 5000kbps (or 8000kbps).

When I recorded the 90-minute tape, the preview looked good on the screen. Going then to check the footage afterwards, the quality wasn't as good (no dropped frames, it looked a little lower quality and just generally not as good). Did I originally set the bitrate too low? Looking online (before recording the footage) a lot of sites suggested 5-8000kbps. Using a bitrate calculator now it's suggesting 5,460 - 10,368kbps. Is setting to something like 10,368 (or even 10,500) likely to fix this issue or is it possible that I should change some other settings within OBS itself (I'm new to OBS so probably).

Any help is appreciated and I'm happy to provide any info I can.

Cheers

Log file: Log File
 

marshthebacca

New Member
I bought what I assume is the same USB video capture card - DigitNow BR150, and I'm sorry to say its product description is extremely misleading. Upon further analysis using v4l2-ctl on Ubuntu:

Bash:
v4l2-ctl -d /dev/video0 --list-formats-ext

It yeilds:

Code:
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture

    [0]: 'MJPG' (Motion-JPEG, compressed)
        Size: Discrete 480x320
            Interval: Discrete 0.033s (30.000 fps)
        Size: Discrete 640x480
            Interval: Discrete 0.020s (50.000 fps)
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.050s (20.000 fps)
            Interval: Discrete 0.100s (10.000 fps)
        Size: Discrete 720x480
            Interval: Discrete 0.020s (50.000 fps)
            Interval: Discrete 0.033s (30.000 fps)
            Interval: Discrete 0.050s (20.000 fps)
            Interval: Discrete 0.100s (10.000 fps)

    [1]: 'YUYV' (YUYV 4:2:2)
        Size: Discrete 480x320
            Interval: Discrete 0.033s (30.000 fps)

It's highly probable the card uses the raw YUYV 4:2:2 stream at 480x320, and upscales and adjusts the frame rate to produce the MJPG outputs that you see in OBS. As you can see, even for the upscaled outputs, there is no 25 fps PAL option, and there isn't even 29.97 fps for NTSC.

This is quite detrimental to the quality of recording of your PAL tapes. I highly recommend you set your canvas size to the same resolution as your video input, otherwise you would introduce yet another upscale process.

As for your bit rate, you're in the right ball park. ~8Mbps is good, increase or lower the bit rate for high and low motion footage respectively. You could also experiment with a variable bit rate, or a different video codec entirely. libx264 is the most widely supported, libx265 is more efficient at compression, and libsvtav1 is poorly supported yet a highly efficient codec you could try.

Having gone down this rabbit hole myself, if your camcorder or other playback device supports a DV output via firewire, that is your best option. Firewire ports are rare now, but you can still purchase a firewire PCIe card and record PAL or NTSC natively. The camcorder can perform the analog to digital conversion internally, producing a digital signal to be recorded directly, resulting in a better image.
 
Top