sploo
25th August 2008, 00:05
I've got a Hauppauge WinTV NOVA-HD-S2 card, and I've been using it to record BBC HD here in the UK.
The card came with CyberLink's PowerCinema 5, which is producing .mpg files (I understand these to be H264).
DGAVCIndex will happily load these files and produce a .dga. With Avisynth, I can now get the files into VirtualDub and re-encode them with DixV to much lower bitrates.
However, the original .mpg files have been 16:9, but the resulting .avi plays back as 4:3.
When selecting the compression type in VirtualDub (and therefore using the DivX options window) I've selected just about every combination of input and output ratios (square, 4:3, 16:9 etc.) but I just can't get it to produce an output .avi that will play at 16:9. I can use a VirtualDub resize filter to get a 1920x1080 output video, but that's not really the best solution.
Anyone know the way to make this work?
BTW Here's some extra info...
Here's what DGAVCIndex logs for one of the files (many lines removed for clarity):
Stream Type: Transport [188]
Profile: High
Level: 4
Frame Size: 1440x1080
SAR: 15:11
Display Size: 1963x1080
Frame Rate: 25.000000 fps
Colorimetry: BT.709* [2]
Frame Structure: MBAFF
Frame Type: I
Bitrate (Avg): 15.622
Audio Stream: 52: MPA L2 2ch 48 256
It seems to indicate that the original .mpg video is 4:3 resoluton (1440x1080) but Windows Media Player (presumably using the Cyberlink H264 codec) plays the file back with the correct aspect ratio (16:9).
If I transfer the original .mpg file to another machine (that doesn't have the Cyberlink driver, but had ffdshow installed a long time ago) it instead plays back as 4:3!
I'm guessing there's a setting in the file header telling the codec to set an aspect ratio, which is being lost/ignored by VirtualDub and is unknown to the ffdshow codec?
EDIT: Checking the DGAVCIndex manual (imagine that... someone reading a manual ;)) it indicates that the SAR field in the log is the "sample aspect ratio specified in the AVC stream.". This explains the "Frame size" and "Display size" values: 1440 * (15/11) = 1963. So, is it the SAR field that's being ignored by VirtualDub/ffdshow?
The card came with CyberLink's PowerCinema 5, which is producing .mpg files (I understand these to be H264).
DGAVCIndex will happily load these files and produce a .dga. With Avisynth, I can now get the files into VirtualDub and re-encode them with DixV to much lower bitrates.
However, the original .mpg files have been 16:9, but the resulting .avi plays back as 4:3.
When selecting the compression type in VirtualDub (and therefore using the DivX options window) I've selected just about every combination of input and output ratios (square, 4:3, 16:9 etc.) but I just can't get it to produce an output .avi that will play at 16:9. I can use a VirtualDub resize filter to get a 1920x1080 output video, but that's not really the best solution.
Anyone know the way to make this work?
BTW Here's some extra info...
Here's what DGAVCIndex logs for one of the files (many lines removed for clarity):
Stream Type: Transport [188]
Profile: High
Level: 4
Frame Size: 1440x1080
SAR: 15:11
Display Size: 1963x1080
Frame Rate: 25.000000 fps
Colorimetry: BT.709* [2]
Frame Structure: MBAFF
Frame Type: I
Bitrate (Avg): 15.622
Audio Stream: 52: MPA L2 2ch 48 256
It seems to indicate that the original .mpg video is 4:3 resoluton (1440x1080) but Windows Media Player (presumably using the Cyberlink H264 codec) plays the file back with the correct aspect ratio (16:9).
If I transfer the original .mpg file to another machine (that doesn't have the Cyberlink driver, but had ffdshow installed a long time ago) it instead plays back as 4:3!
I'm guessing there's a setting in the file header telling the codec to set an aspect ratio, which is being lost/ignored by VirtualDub and is unknown to the ffdshow codec?
EDIT: Checking the DGAVCIndex manual (imagine that... someone reading a manual ;)) it indicates that the SAR field in the log is the "sample aspect ratio specified in the AVC stream.". This explains the "Frame size" and "Display size" values: 1440 * (15/11) = 1963. So, is it the SAR field that's being ignored by VirtualDub/ffdshow?