2

I have an interlaced video with MTS file format, which was captured using a HD camera. When I play it using VLC, it is displayed at resolution 1920x1080 and if I take a snapshot with VLC, the saved image also has a resolution of 1920x1080. I tried playing the video with the Windows Media Player, and the video is also rendered at a resolution of 1920x1080.

However, in VLC, when I select Tools > Codecs information I get the following :

Type: Video
Id original: 4113
Codec: H264 - MPEG-4 AVC (part10) (h264)
Resolution: 1440x1080
Framerate: 25
Decoded format: Planar 4:2:0 YUV

(there also are an audio stream and a subtitle stream, which I am not interested in).

So the exposed resolution seems to be 1440x1080 but when rendered the video is 1920x1080.

Anyway, my true problem comes from the fact that I need to extract the frames from the video to perform some Image Processing. I do that using ffmpeg, which extracts frames at the resolution of 1440x1080, but then the extracted images seem distorted (i.e. compressed horizontally), which causes errors for the Image Processing I am doing.

Any idea why VLC, Windows Media Player, Power DVD manages to render the video correctly, whereas ffmpeg fails to extract the frames at the correct resolution ? And why is the video rendered at 1920x1080 if the exposed codec resolution is 1440x1080 ?

1 Answer 1

3

HDV camera, right? It's not untypical for cameras to claim higher resolution than they actually scan. In such cases you have to look at the different aspect ratios involved: pixel, frame, display, sample. Here's a post that discusses this, or google "HDV aspect ratio". And here's a link to the spec from the HDV consortium.

It's essentially anamorphic. The ffmpeg or avconv docs should show how to extract and expand to 1920 in one step.

3
  • 2
    The specs for HDV are listed here. You'll see that the frame is indeed anamorphic. You could use vf scale=1920:1080,setsar=1:1 to ensure the output is full raster (though it will be interpolated).
    – stib
    Aug 27, 2015 at 0:32
  • Thanks for both your explanations. I checked in ffmpeg and it is indeed saying the following about the input video stream: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc. @stib I am not familiar with the anamorphic term, but ultimately, I would like to recover the image as captured by a pinhole camera model. Do you know if the ffmpeg video filter vf scale=1920:1080,setsar=1:1 is enough for that ?
    – BConic
    Aug 27, 2015 at 7:37
  • Yes, that filter chain should suffice.
    – Gyan
    Sep 19, 2015 at 13:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.