Apple Intelligence is now available on iPhone, iPad, and Mac!

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Can't Export FCPX Project without Re-encoding?

Hi, I am trying to compile separate video and audio recordings from recent zoom meetings into self contained video files after syncing the audio track in FCPX.


In the project I made sure to match the resolution and frame rate to the source media and I can successfully edit and scrub on the timeline with no transcoding or playback issues. When I go to share the project as master file with source video settings FCPX keeps trying to re-encode the video instead of just muxing the audio into the video at specific start/end timecodes. FCPX is estimating turning a ~5GB file into a ~5.5TB file. The source videos are full screen video recordings of about 60-90 mins from my MBP2017 done with QuickTime.


In theory I think I can also use FCPX to find my desired start/end frames for the video and audio files and use ffmpeg to mux the streams without reencoding, but that would probably take me longer to figure out the correct commands. I feel like this is something that should be in theory really easy in a pro video editor with a GUI. Given all the media is being recorded and edited via Apple OS and software is there an approach/setting I'm missing or messing up?


Source video media info:


Matched project settings:

Attempting to export as source:

Attempting to export as H264:

Thanks in advance for taking any time to look at/into this.

MacBook Pro with Touch Bar

Posted on Oct 24, 2020 5:47 PM

Reply
Question marked as Top-ranking reply

Posted on Oct 26, 2020 8:13 PM

For those finding this post looking for the ffmpeg solution I used this is how you do it:


First, figure out the desired start times for your a/v streams. I did this by syncing the clips in FCPX and cutting any unnecessary media at the beginning, and then by selecting the clips you can get your clip's "Start" value in the Info Inspector which we'll use in ffmpeg.


Next open up terminal and use the following command, replace any [VARIABLE] as needed:

ffmpeg —ss [VIDEO START TIME] -i [VIDEOFILENAME.EXT] —ss [AUDIO START TIME] -i [AUDIOFILENAME.EXT] -c copy [OUTPUTFILE.EXT]


  • If you have never used/installed ffmpeg as a command line tool just google "homebrew", install that, and use it to install ffmpeg with the terminal command "brew install ffmpeg"
  • Remember to use 'cd' to navigate to directory with source media or use absolute paths when defining input and output files
  • Time format for seek (-ss) argument: HH:MM:SS.MS (hours:minutes:seconds.milliseconds)
  • MS will be = (1000/framerate)*frames


And voila, no unnecessary intermediate transcoding to combine your offset a/v files.


Here's what it looks like:


Note if you have a video file that already has mixed a/v streams but out of sync audio there is a similar but different process for fixing that. It involves using ffmpegg's -itsoffset and -map arguments to selectively offset the start timestamp of just one of the streams (usually audio by ms as it gets you most accurate syncing).

Similar questions

10 replies
Question marked as Top-ranking reply

Oct 26, 2020 8:13 PM in response to rmo348

For those finding this post looking for the ffmpeg solution I used this is how you do it:


First, figure out the desired start times for your a/v streams. I did this by syncing the clips in FCPX and cutting any unnecessary media at the beginning, and then by selecting the clips you can get your clip's "Start" value in the Info Inspector which we'll use in ffmpeg.


Next open up terminal and use the following command, replace any [VARIABLE] as needed:

ffmpeg —ss [VIDEO START TIME] -i [VIDEOFILENAME.EXT] —ss [AUDIO START TIME] -i [AUDIOFILENAME.EXT] -c copy [OUTPUTFILE.EXT]


  • If you have never used/installed ffmpeg as a command line tool just google "homebrew", install that, and use it to install ffmpeg with the terminal command "brew install ffmpeg"
  • Remember to use 'cd' to navigate to directory with source media or use absolute paths when defining input and output files
  • Time format for seek (-ss) argument: HH:MM:SS.MS (hours:minutes:seconds.milliseconds)
  • MS will be = (1000/framerate)*frames


And voila, no unnecessary intermediate transcoding to combine your offset a/v files.


Here's what it looks like:


Note if you have a video file that already has mixed a/v streams but out of sync audio there is a similar but different process for fixing that. It involves using ffmpegg's -itsoffset and -map arguments to selectively offset the start timestamp of just one of the streams (usually audio by ms as it gets you most accurate syncing).

Oct 24, 2020 6:06 PM in response to rmo348

You can’t do what you want in FCP.


The export settings you’re using won’t work, Uncompressed is just that and makes a huge file. H.264 is in QuickTime not the original MPEG-4. The media has unstable, variable frame rate, which the project won’t export in its original form. If you’ve removed anything from the being or end of the file, you have almost certainly broken the GOP structure, which will have to be rebuilt by re-encoding.


ffmpeg might be able do it, but FCP can’t, and I don’t think any other professional editing application can do it.

Oct 24, 2020 7:32 PM in response to rmo348

Try switching the the Rendering: Uncompressed 10bit to ProRes LT.

That should make the exported fie size way smaller and still look good.


Also, an App such as Compressor can give you control over the Bit Rate that will significantly reduce file size.


As Tom mentioned the VariableFrameRate always causes issues, if it exports OK, great, if not you may have to OPTIMIZE the clips.


Al

Oct 25, 2020 7:56 AM in response to rmo348

Export as H264. It will still be larger than the original Zoom files, because FCP uses a higher bit rate.

There is no way to export without recompressing in some way, but there is no need to use Uncompressed (which produces humongous files) or even a flavor of ProRes (still quite big).


And, as already suggested, if you then want to produce a smaller file you may put this through HandBrake.

Oct 26, 2020 8:10 PM in response to Tom Wolsky

Thank you for the help and quick response!


I mistook/assumed exporting uncompressed with source media that's already compressed wouldn't literally "un-compress" it while creating the output file but rather just write the existing media streams to a new file. I don't get why the GOP structure needs to be completely rewritten given that ffmpeg is able to do this mux operation just fine, even when trimming the beginning or end of either file. I'm assuming for the video it only re-encodes input stream data for any frames before the first and after the last i-frame that will still be in the output stream.


I guess my confusion is that QuickTime and FCPX are both Apple developed, and whatever QT did to encode my screen capture compressed ~90 mins of ~4K footage into a ~5GB file in less than a minute after ending the recording, yet FCPX can't use whatever encoding option QT used? My only export options are ProRes, H264, and Uncompressed; is there something I'm supposed to be installing to get more options? Better yet there should just be a "don't encode" option when rendering files that produces an export warning only if the project media has mixed codecs.

Oct 26, 2020 8:17 PM in response to Alchroma

I have compressor and Adobe Media Encoder and all that installed my issue was just not wanting to unnecessarily transcode a bunch of times when the source media is already well compressed with great quality. Was able to do it with ffmpeg just took a bit of toying around to figure out the right arguments to give it.

Oct 26, 2020 11:18 PM in response to rmo348

Such files are a delivery format, not an editing format. But I often use apps like MPEG Streamclip or QuickTime Player to trim H.264, H.265 or MPEG2 files losslessly to the GOP (if the starting point is after the GOP, there might be several seconds of blurriness before the 1st GOP is reached).


With such files finding the GOP seems to be a challenge. MPEG Streamclip (32-bit app) advances to the GOP with up/down arrows but QuickTime Player does not show them. That is not a big issue because the part before the GOP is just not displayed although AFAIK it is included in the filesize.


ffmpeg and ffprobe can also find and display GOPs but using that info for trimming seems to be quite clumsy.


I have not much joined such files but the best I know is Avidemux. It nicely displays the GOPs and the GUI is quite nice but there are some rough edges. Editing is to the GOP so it is not frame accurate. Some other similar apps re-encode the parts outside GOPs.

Can't Export FCPX Project without Re-encoding?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.