Hello. I am new here and I am not quite sure where to post this. I have a Canon 1DX Mark II and I shoot all my video in 4K60FPS. The video is butter smooth and I have never had any issues over the past two years. Recently, I have noticed something I can't explain. My videos, which I bring into FCP X, transcode to ProRes 422HQ, edit, and then export as H.264, then upload to Vimeo, YouTube, Facebook, etc, still run buttery smooth in a normal window and at full screen in Safari, but have a slight jitter in Chrome and Firefox. The jittery is really pronounced in full screen. I can not figure out what the issue is...I have not changed the way I do things at all. I just find it odd that it could be on my end if Safari plays full screen perfectly but other browsers do not.
Any help you could provide would be greatly appreciated. Here is a link to a current video to test for yourself:https://youtu.be/JewhX09vSXI
I checked it full screen in Safari, Chrome, and Edge. Looks about the same. Generally smooth but some minor hitches in movement most noticeable on any horizontal motion. Safari only let me see it in 1080, while the other 2 would go up to 4K. Looks about the same in all, except that 4K seems to hitch just a bit more than the 1080. And the 4K cranks the fans speeds up big time.
What sort of data rate did you use? Are you using .mov files out of FCPX or Compressor?
My set up is a mid-2014 MBP with an external 27" display. Internet via wifi. Mojave 10.14.6.
Oliver Peters - oliverpeters.com
I believe the data rate was 1.09GB. The file was a .mov straight out of FCPX.
Is this video interlaced or progressive?
[Jim Hart] "...shoot all my video in 4K60FPS....export as H.264, then upload to Vimeo, YouTube...run buttery smooth in a normal window and at full screen in Safari, but have a slight jitter in Chrome and Firefox. The jittery is really pronounced in full screen."
If I run them full screen at 1080p/60, I do see some jitter, esp. on FireFox 77.0.1. If I right-click and select "Stats for Nerds" it shows both FireFox and Chrome are using Google's VP9 codec, whereas Safari is using AVC (ie H.264). This is on a 10-core Vega 64 iMac Pro on Catalina 10.15.5, with Comcast hard-wired 350 mbps, 8 millisecond ping and 1.9 millisecond jitter.
My first guess was it's a VP9 issue but I used this Chrome extension to force use of AVC, and it still happened: https://blog.kylemanna.com/media/force-youtube-to-stream-h264-avc-with-h264...
I don't have a Windows machine but I tried it using the latest Windows 10 on VMWare for both Windows Chrome and Edge. It still happened there, but that could be VMWare.
As a test I suggest exporting as ProRes 422 (not HQ) and uploading directly to Youtube. That at least removes one encode/decode step between Long GOP codecs. Yes the file is big but this is only a test. If needed just do 1/2 the timeline.
If you have access to an actual Windows machine it would be interesting to see how Chrome, Edge and FireFox behave on that.
Make sure all your original media is truly 60 fps, the timeline is 60 fps and the exported file is 60 fps. If there is any frame rate mis-match, the FCPX rate conforming process can inject motion cadence issues. I don't think that's the case here (else you'd see it on Safari), just mentioning it.
Video plays just fine on Windows PC at work. Strangest thing. I am going to look over all of my settings and use suggestions fro you all and get back to you...things have been hectic. Talk soon.
I tested same vide three different ways.
No effects, no transitions, nothing on the videos in the timeline.
Video is 4K 60 FPS (4096x2160)
Project timeline in FCPX is 4k 60FPS 4096x2160 Apple ProRes 422
Data rate (133Mb)
Project timeline in FCPX is 4k 60FPS 4096x2160 Apple ProRes 422
Mastering (Web Hosting)
Codec (H.264 Better Quality)
Data rate (20.18Mb)
Project timeline in FCPX is 4k 60FPS 4096x2160 Apple ProRes 422
Data rate (1.22Gb)
For all three videos above, On Mac, Safari in 4K or any lower is smooth as butter in normal window and full screen. In Chrome or Firefox, still jittery.
For all three videos above. On a PC, Internet Explorer, Edge, Chrome, and Firefox are all smooth as butter.
I just don’t understand.
Well, I don't know why and I hate it, but I think have found my problem. The ONLY thing I am doing differently is shooting 4k 60FPS instead of 1080P 60 FPS. All my videos shot at 1080p 60 FPS are playing perfectly as always in normal window sizes and in full screen. It is the 4K and I don't know why!
I guess I am going to have to shoot everything over again in 1080p 60FPS because I have to have all browser working for this project. I guess I just don't understand why Safari pays perfectly. How can one browser be fine?
Anyway, if any of you have any ideas before I set out to shoot all of my footage over again, I would appreciate it.
Oh, and all of this is shot on a Canon 1DX Mark II. Thanks.
[Jim Hart] "The ONLY thing I am doing differently is shooting 4k 60FPS instead of 1080P 60 FPS. All my videos shot at 1080p 60 FPS are playing perfectly as always in normal window sizes and in full screen. It is the 4K and I don't know why!
I guess I am going to have to shoot everything over again in 1080p 60FPS "
Using your current material, can you export as 1080p and upload to Youtube instead of exporting and uploading as 4k?
If 4k files are uploaded to Vimeo, does Mac Chrome and Firefox have the playback jitter, or is it only Youtube? I think you said yes, just wanted to be sure.
What if you then download the encoded 1080p Vimeo file and play it locally with Quicktime and VLC? That would help determine whether the problem involves the streaming decoder for Mac Chrome/FireFox, or whether it happens if locally decoded by Quicktime and VLC.
Yes, I can export it as 1080p and upload it to YouTube.
The 4K files uploaded to Vimeo play perfectly in Safari, but still have the jitter in Chrome, worse in Firefox. What is so frustrating is that they play perfectly in Final Cut Pro and the exported file plays perfectly in Quicktime and VLC. The jittery is only happens after being uploaded to Vimeo and YouTube. Even then, it plays perfect in Safari. It is the other browsers that are jittery.
So, to to be clear,...you want me to try and export as 1080P 60FPS, upload that to Vimeo, then download the file from Vimeo and play it on my Mac?
[Jim Hart] " The jittery is only happens after being uploaded to Vimeo and YouTube. Even then, it plays perfect in Safari. It is the other browsers that are jittery.
So, to to be clear,...you want me to try and export as 1080P 60FPS, upload that to Vimeo, then download the file from Vimeo and play it on my Mac?"
First export as 1080p/60, upload to Youtube and Vimeo, and try normal streaming playback with Mac Chrome & Firefox. If shooting at 1080p/60 with your camera avoids the problem, maybe just exporting from FCPX at 1080p/60 then uploading that file will avoid it.
Re downloading the file, after upload the file is re-encoded by both Youtube and Vimeo. You are not streaming the exact file you uploaded. It seems likely there is something going wrong with the Mac version of Chrome and Firefox when streaming an uploaded 4k file -- even if streamed at 1080p. However -- maybe the cloud-based re-encoding process did something which exposes a bug unique to Mac Chrome and Firefox. Downloading that re-encoded file lets us investigate that locally.
With Vimeo (not Youtube) it's possible to download that re-encoded file. If your Vimeo account has enabled downloads, you'll see that option. However this is only available for Vimeo Plus, Pro, Business, and Premium versions.
If you have one of these versions you can download the re-encoded file and try to play it with Quicktime, VLC *and* Chrome/Firefox. To play a local file with a web browser, enter the path to the file. An easy way to get the complete path is drag/drop the file from Finder to Terminal. That will produce the complete path and you can copy/paste that file pathname from Terminal to the query box in Chrome/Firefox. It will locally decode and play the file in the browser.
If you don't have the right version of Vimeo you could try to capture the stream using one of the available 3rd-party tools, then try to play that file. The capture tool I use is Downie, but there are many: https://software.charliemonroe.net/downie/
This could be a bug in the Mac version of Chrome and Firefox, or it could be an underlying MacOS bug which Chrome/FF are exposing.
Even if isolated to 4k/60, it is a troubling situation because you tried both ProRes and H264, and 4k/60 uploads are very common, as is playback by Mac Chrome and Firefox.
There have been so many serious bugs on Mac Chrome that I personally would not advise any FCPX user to use that, but even excepting that, the jitter problem also happens with Mac FireFox.
Should I take the original Final Cut Pro export and save it to an external drive, and then connect to a PC and upload to Vimeo? That may work if there is a bug on the Mac versions? I am going to try that tonight.
I exported the file as normal to an external drive. Attach the drive to a Windows 10 PC and uploaded the video to Vimeo through Chrome. Same issue.
I don't know what I am going to do.
I exported as 1080P 60fps (doesn't look as good) and I uploaded it to Vimeo. Once it finished processing, I downloaded the encoded 1080p file and played it on my Mac...played perfectly. Uploaded it to both YouTube and Vimeo...played jittery.Safari, still good.
I am at a loss...I just don't get it.
OK, I will work on this more tomorrow. I am concerned there's a generic problem with the stream decoder on Mac Chrome and Firefox for certain scenarios, maybe unique to certain Mac hardware types such as those with a certain version of Quick Sync on a certain MacOS version. It is subtle enough that most people wouldn't notice it but if you care about quality to a diverse viewership, it's not good.
I think certain Mac hardware might be my issue.PC's play fine. My MacBook Pro and MacBook Air play all browsers fine as well I just discovered...it is my 2017 iMac and my 2020 iMac Pro that play jittery in all browsers but Safari. WTH?
[Jim Hart] "I think certain Mac hardware might be my issue.PC's play fine. My MacBook Pro and MacBook Air play all browsers fine as well I just discovered...it is my 2017 iMac and my 2020 iMac Pro that play jittery in all browsers but Safari. WTH?"
This is a complex issue. I don't think FCPX is doing anything wrong. There is a performance deficiency in the video decoding in Mac FireFox and Chrome. FireFox is worse, and it happens during local disk playback by the browser, not just during streaming. IOW you will see it in FireFox by just doing File>Open and playing the clip - before uploading it. However it must be 1080p as FF apparently can't play a local 4k H264 clip with good performance.
It's not hardware specific as I tested a 2017 10-core Vega 64 iMac Pro, a top-spec 2017 iMac 27 and a top-spec 2019 MacBook Pro 16, and it happens on all of them, all running Catalina 10.15.5.
I then tried exporting the same 4k/60 file using Resolve Studio 16.2.3, and it seemed to not happen. Inspection of the file header shows Resolve used a keyframe interval of 120 frames, whereas FCPX used 30 frames.
I then sent the same timeline to Compressor and created a custom preset for a keyframe interval of 120, and it seems to work better (maybe not perfectly) in FireFox, including after upload and transcode by Youtube.
FCPX is not doing anything wrong, but this might be a workaround. The larger keyframe interval may be making the decode easier. If you have Compressor you can create a similar preset and use that. In Compressor under Video Sharing Services, right-click 4k and pick "duplicate". That creates a duplicate preset you then modify.
Select that new preset in the left sidebar and at the right, select the video tab, for Data rate pick "computer playback", for Key Frame Interval pick "Every" and enter 120 frames.
Then in FCPX do File>Send to Compressor and in Compressor drag/drop your new preset on top of the project in the middle pane, then click the Start Batch button at the bottom. When it finishes upload it to Youtube and test the playback in FireFox.
Thanks for the help. I opened compressor and followed your directions and added the duplicate with changes to my final cut pro sharing window. I shared my raw timeline using the newly created compressor setting and uploaded the resulting file.
Plays fine in Safari, play almost perfect n Chrome, Firefox is still bad.
[Jim Hart] "Plays fine in Safari, play almost perfect n Chrome, Firefox is still bad."
I just tried a 4k/60 ProRes file from a BlackMagic camera, exported from Resolve Studio 16.2.3 to 4k/60 H264, keyframe size=30, uploaded to Youtube and the jitter still happens if streamed from Mac FireFox 77.0.1 on an iMac Pro running Catalina 10.15.5.
This proves it has nothing to do with FCPX. It is a problem with Mac FireFox and (to a lesser degree) Mac Chrome. Whether the fault is in the app itself or how the app is using MacOS APIs or MacOS itself is unknown.
Obviously this is a major issue for any streaming content producer who wants consistent high quality presentations across various platforms. The entire goal of browser standardization is to avoid directives to use one type of browser or platform.
At this point there are three steps to take: (1) Try to find a workaround, (2) Further examine problem bounds on various platforms, e.g, does it happen on Chrome/FireFox on iPad? Does it happen on MacOS before Catalina? (3) Report the bug to Apple OS support (not FCPX), Google and FireFox.
I haven't looked so far, but it can probably be seen on various Youtube material people have uploaded, if played by Mac FireFox. There is nothing unique or incorrect about what FCPX or Resolve are doing on the encode side.
Thanks. Since I know it is not my video, which is what was worrying me, then I am going to forge ahead. Thanks so much for your help...incredible effort on your part and I truly appreciate it.
What is odd is that all browsers, firebox included, play fine on my 15 inch MacBook Pro and my MacBook Air.
[Jim Hart] "all browsers, firebox included, play fine on my 15 inch MacBook Pro and my MacBook Air."
Could you please re-state what machines you've tested this on -- the year, model and config if each machine, also what version of MacOS on each machine?
I mostly focused on desktop machines but my top-spec 2019 MacBook Pro 16 showed the problem, maybe to a lesser degree, or maybe harder to see due to the smaller screen. I will re-examine that.
It currently appears to not happen on Windows using the main browsers and only on Mac on FireFox and to a lesser degree Chrome. The fastest (though distasteful) workaround is add a note to the video description advising Mac users to play the video on Safari for the best experience.
As already discussed a partial workaround is export the video using Compressor using a 120 keyframe interval. That doesn't totally fix it on FireFox but it lessens it.
I will try to examine this further, as it has broad implications for any producer of high quality streaming content.
[Joe Marler] "Could you please re-state what machines you've tested this on -- the year, model and config if each machine, also what version of MacOS on each machine?"
Tested on various PC's at work with all browsers...heck, I even threw it at Brave and Opera without issue.
Macs that run fine on all (at least to my eyes) were a 15" MacBook Pro (late 2015 model) running Catalina 10.15.5, a 13" MacBook Air (2013 model) running Catalina 10.15.5, and all iOS devices in my house...iPhone 11 Pro Max running iOS 14 Beta, iPhone XR and an iPhone 7 running iOS 13.
My jittery issues seem to be on my home and work Macs: a 27" iMac (2017 model) running Catalina 10.15.5, two 27" iMacs (2015 models) running Catalina 10.15.5, and a 27" iMac Pro (2020 model) running Catalina 10.15.5. The iMac Pro is a beast with a 10 Core processor, 128GB of ram, 2TB SSD, and a Radeon Pro Vega 64 16GB video card.
Just FYI, last night I imported the ProRes file into Adobe Premiere Pro, and then exported out as an mp4, CBR of 100, key frame distance of 120, and H.264. Same issue.