XAVC-L/S - MXF vs. MP4 Container playback troubles.

cliff_622 wrote on 12/1/2016, 5:43 PM

I use both flavors of Sony XAVC long GOP UHD files at 100Mbp/s. However, I have always noticed that Vegas handles H.264 in an .MP4 container much, MUCH better than it does in an .MXF container. Why is this the case? Is the .MXF container "that" much harder to unpack? Does the .MXF container cause "that" much overhead? Or, is it something that Vegas is not doing correctly? I have also noticed that Premiere handles .MP4 better than .MXF too. However, it's differences are not as dramatic as Vegas. Even VLC player struggles with .MXF far more that it does with a similar UHD file inside .MP4.

We know the H.264 CODEC is virtually identicle inside the two container types. I know the Sony H.264 CODEC in the .MXF version only has one small MPEG tool activated that the .MP4 version does not. (off the top of my head, I cant remember that mode type but it's very small)

Can anybody shed light on this problem? I'd LOVE to see Vegas finally improve Sony XAVC-L playback (long GOP h.264 in .MXF)

CT

Comments

marc-s wrote on 12/3/2016, 1:27 AM

+1. XAVC-L is even worse than XAVC-S on my system for some reason. Have you noticed any render troubles? I seem to get some stutter effects at times.

ushere wrote on 12/3/2016, 4:13 AM

i've been using xavc-i as an intermediary with great success. i wouldn't have thought of using any gop codec for editing.

cliff_622 wrote on 12/3/2016, 3:22 PM

I dont render to long GOP as an intermediate. I shoot with XAVC-S and worse...XAVC-L.

Cornico wrote on 12/3/2016, 3:53 PM

However, I have always noticed that Vegas handles H.264 in an .MP4 container much, MUCH better than it does in an .MXF container. Why is this the case?

Did you compare both at 100Mbps or more?
When I use MC AVC mp4 files with a high bitrate (75-224 Mbps) my Vegas and my players are strugling with those files caused by read problems, while there are no problems with the same codec mp4 at 25 Mbps.
To me it seems not to be a codec and unpack problem but a read and write problem like at uncompressed video.

 

 

NormanPCN wrote on 12/3/2016, 5:23 PM

Generally speaking the higher the bitrate the more work to decode. All else being equal like the codec.

With the AVC/H.264 codec, if you want a lower decode overhead then the file must be encoded with CABAC off. Some encoders might not have a check option for CABAC and with this you select CAVLC.

XAVC-I always uses CAVLC. XAVC-S always has CABAC on but runs with lower bitrates than XAVC-I. I've never looked at XAVC-L but I suspect it might be similar to XAVC-S with regards to CABAC while releasing some other restrictions XAVC-S has.

cliff_622 wrote on 12/3/2016, 7:38 PM

However, I have always noticed that Vegas handles H.264 in an .MP4 container much, MUCH better than it does in an .MXF container. Why is this the case?

Did you compare both at 100Mbps or more?
When I use MC AVC mp4 files with a high bitrate (75-224 Mbps) my Vegas and my players are strugling with those files caused by read problems, while there are no problems with the same codec mp4 at 25 Mbps.
To me it seems not to be a codec and unpack problem but a read and write problem like at uncompressed video.

 

 

This is comparing XAVC-S with XAVC-L. Both at UHD, both at 100Mbp/s.

cliff_622 wrote on 12/3/2016, 8:00 PM

Generally speaking the higher the bitrate the more work to decode. All else being equal like the codec.

With the AVC/H.264 codec, if you want a lower decode overhead then the file must be encoded with CABAC off. Some encoders might not have a check option for CABAC and with this you select CAVLC.

XAVC-I always uses CAVLC. XAVC-S always has CABAC on but runs with lower bitrates than XAVC-I. I've never looked at XAVC-L but I suspect it might be similar to XAVC-S with regards to CABAC while releasing some other restrictions XAVC-S has.

XAVC-S and XAVC-L are almost the exact same H.264 CODEC, level and profile. Both have CABAC enabled for entropy encoding. The biggest difference between them is they are packed into completely different containers. (Mp4 vs. MXF).

After doing some re-packing analysis, I can see that the H.264 on the XAVC-L does have an MPEG tool called "quantization matrix" enabled that the XAVC-S does NOT have turned on.

There is one other thing; XAVC-S (H.264 in the .mp4 container) has a FIXED or static GOP structure. Meanwhile XAVC-L (H.264 in the .MXF container) seems to have an OPEN or adustable / sliding GOP structure.

These MPEG toolset differences and Long GOP structure difference don't seem to be enough to make any difference in the Vegas playback. Why?....because I have extracted the H.264 video out of the .MXF container and re-packed that back into an MPEG TS container. (transport stream) Mind you,...this is NOT a re-compress, it's simply taking that exact video out and re-packing it into a new container. The result? XAVC-L video plays back very smooth in Vegas with no trouble at all in an MPEG TS file. It's the same exact video stream just moved into a different file format.

This tells me that Vegas' trouble with XAVC-L (H.264 long GOP, UHD 100Mbp/s) comes entirely from a problem with the .MXF wrapper and its NOT the actual video CODEC settings that are causing the trouble.

Vegas doesnt unpack .MXF (UHD - XAVC-L) very well. (others dont either but Vegas is VERY bad at it)

I wonder why.