Why doesn't the PlayMovie node play mpg movies?

Steps to reproduce the bug

Play an mpg movie using the PlayMovie node, doesn’t work.
The mpg movie I’m trying plays in every other movie player I have, including ffmpeg.

Have you found a workaround?


Other notes

  • Vuo version: 2.4.4
  • macOS version: 14.2.1
  • Mac model and CPU: MacMini, Intel
  • Have you been able to reproduce the bug? Yes
  • How severely does this bug affect you? Moderately

What does Mediainfo says about the file? MediaInfo

1 Like

ffplay reports

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘sample.mpg’:
major_brand : mp42
minor_version : 1
compatible_brands: isommp42
Duration: 00:03:38.62, start: 0.000000, bitrate: 3999 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv), 640x480 [SAR 1:1 DAR 4:3], 3998 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
handler_name : Video Handler
vendor_id : [0][0][0][0]

This is what mediainfo says

Complete name : sample.mpg
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (isom/mp42)
File size : 104 MiB
Duration : 3 min 38 s
Overall bit rate mode : Variable
Overall bit rate : 3 999 kb/s
Frame rate : 29.970 FPS
FileExtension_Invalid : braw mov mp4 m4v m4a m4b m4p m4r 3ga 3gpa 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma ismt f4a f4b f4v

ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings : CABAC / 1 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 1 frame
Format settings, GOP : M=1, N=9
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3 min 38 s
Bit rate mode : Variable
Bit rate : 4 000 kb/s
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 29.970 (30000/1001) FPS
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.434
Stream size : 104 MiB (100%)
Color range : Limited
Codec configuration box : avcC

So the workaround is to just rename the file extension to “.mp4”.

Really? Hum, maybe Vuo player expects “.mpg” to be the old MPEG2 codec.

Good that you found a workaround.

A movie file has a container, which is the format that wraps the whole thing, usually indicated by the file extension. Each video or audio stream within the movie file has a codec, which is the format in which the stream’s data is encoded.

A movie player will look at the file extension, the container, and the codec to decide how to play the movie file. Each container is compatible with some particular set of codecs, so the movie player has some expectation about what codecs to look for when it sees the container type. However, these are not always clearly specified, and support varies from one movie player to another as they all use different heuristics.

The video metadata you posted shows that the problematic video’s container is MPEG-4 and its video codec is AVC, which is odd since the file extension .mpg implies MPEG-1 or MPEG-2. Presumably whichever of Vuo’s two movie player libraries — FFmpeg or AVFoundation — was selected to play the file got confused by the mismatched combination of the .mpg file extension and the actual MPEG-4 container format.

Since this seems like a rare case — not affecting a wide range of .mpg files, but only those which are actually MPEG-4 in disguise — and since the workaround is simple, we’re going to close this bug report in order to focus on higher priorities for development.

Agree, I’m prepared to lay the “bug” at the feet of the software that generated the movie.