3

I have a 3-hour long .mp4 video that has sensible breaks roughly every 30 minutes or so. I want to export this into multiple videos of each section, but have run into nothing but problems trying to do so. This isn't something I do often so I don't really want to invest in commercial tools for this one task, but as yet I can't find any free tool capable of this job.

I really would prefer to just cut this up without having to decode and re-encode the file(s) all over again. I'd like to just mark the sections I want, and spit them out as standalone .mp4s. No other edits, no corrections, no effects, no anything... just cut & export without any formatting changes at all.

I thought Handbrake could do this, but if it can I can't figure out how. I then thought maybe iMovie (10.x as I'm on Mavericks), but that's been nothing but headache and appears to decode the entire movie first before working with it anyway. Quicktime itself seems only able to direct export as .mov and I don't want to re-encode to mp4 all over again.

I keep running into free/open source programs that either are only free in a very limited fashion (like 5 minute max exports, or nasty watermarks, etc.) or that won't run on Mavericks. Is what I'm looking to do just not possible without commercial software? Is it really so difficult to split one long mp4 into several shorter ones?

3
  • Have you tried using FFmpeg? Sep 16, 2017 at 19:10
  • No, I've only ever used that for mp3 conversion I believe. It doesn't have any editing interface AFAIK, it's just libraries for behind-the-scenes functionality is it not? How would one go about editing with FFmpeg?
    – JVC
    Sep 16, 2017 at 19:11
  • Aha! I may have found a solution here - forums.macrumors.com/threads/…
    – JVC
    Sep 16, 2017 at 19:14

6 Answers 6

4

I just found out about LosslessCut - it's a free open-source front-end to ffmpeg. In (minimal, so far) testing, it seems to work well - splitting an .mp4 containing subtitles, into smaller chunks, preserving all tracks (including subtitles) while doing so (or only some tracks if you want to exclude some), without transcoding.

1
  • Just tried LosslessCut and it worked perfectly. You can very easily split a long video into segments (while watching it), delete some of the segments, name segments, and then bulk export some/all of the segments with a specified naming pattern. Much, much better than QuickTime. Aug 5, 2022 at 14:40
3

Here's a tutorial I just made to solve the problem. No pro subscriptions, no nonsense.

QuickTime Export Split Clip Tutorial: https://www.youtube.com/watch?v=g7MgVBGfFCo

Essentially, you just use the shortcut to split the clip, move the split over to a new file, and save the new file. Quick and easy. Split up an over hour long video into 13 videos or so [1] in 15 minutes.

[1] https://www.youtube.com/playlist?list=PL3z1TiLmRFcwBvXbeSmXhYbouKfBKZyZv

6
  • Thanks for the tip here, but unfortunately it doesn't work for me. When I try to save the clip I created by pasting into the second video, I just get "The operation could not be completed" and it won't save.
    – JVC
    Oct 21, 2018 at 21:06
  • @JonathanvanClute can you post a screen recording of this happening? I could try and replicate and fix for you. Mar 16, 2019 at 2:08
  • Sorry, I’ve long since moved past whatever video I was dealing with at the time. I don’t even remember anymore. But I have had a problem recently with certain MP4‘s generated by a particular program that just will not merge using QuickTime player. My work around has been to re-save them as M4V files using VLC pass-through encoding, and then they are able to be merged as expected.
    – JVC
    Mar 16, 2019 at 2:11
  • Glad you found a solution! Mar 16, 2019 at 16:55
  • This seems like a nice, faster workflow for cutting and saving clips. (You can get the same results from the Trim command on multiple copies of the source). But it does not fix the fundamental QuickTime problem that your new files are exported / re-encoded as .mov files. It is NOT simply splitting the .mp4 file source!
    – pkamb
    Sep 16, 2019 at 20:25
2

This can be done using QuickTime Player X.

Quicktime itself seems only able to direct export as .mov and I don't want to re-encode to mp4 all over again.

If you only Trim the video, or (repeatedly) Split and then delete one of the ends, you can re-save as .mp4 rather than exporting as .mov. If you do anything more than that, you must export.

I posted directions for that here: https://apple.stackexchange.com/a/370211/19829

QuickTime 7

It's even easier using QuickTime Player 7 Pro:

Extract a Trimmed segment into its own QuickTime player:

  1. Open your Source video file in QuickTime 7 Pro.
  2. Scrub to the first desired frame. Press I to set the In Marker.
  3. Scrub to the last desired frame. Press O to set the Out Marker.
  4. Extract the segment using either Copy CMDC or Cut CMDX.
  5. Get a New Player via CMDN.
  6. Paste the segment via CMDV.

Export the trimmed segment using "Pass Through" encoding:

  1. Focus the New Player window containing only your trimmed clip.
  2. Select Export CMDE.
  3. Select Movie to MPEG-4 in the Export: selector.
  4. Click the Options button.
  5. Select Pass through for Video > Video Format.
  6. Select Pass through for Audio > Audio Format.
  7. Click Save to save the trimmed clip using the same file type and encoding as the source material.

Pass through Video encoding

1

Turns out this CAN be done, and simply using QuickTime to boot. Thanks to this post from another forum, I discovered that you can tell QTPro to simply "pass thru" and not re-encode your material, when exporting.

Steps:

  1. You must have QuickTime 7 Pro. Might also require a license key if you don't already have one. You will have to get these on your own as QT7 has been discontinued for years by Apple, but it's very much still out there.
  2. Open your original (large) movie in QT7.
  3. Move to the point you want your first clip to start, and press "I" to mark an in point. Move to the end of the clip and press "O" to mark the out point.
  4. COPY the now-selected section and select File > New Player (or hit COMMAND-N)
  5. PASTE what you previously copied, onto the new clip.
  6. Select File > Export... (NOT Export for Web...)
  7. Make sure Movie to MPEG-4 is selected as the export type, and click the Options button
  8. Make sure "Pass Through" is selected for both audio and video, and enable Streaming options if you need them.
  9. Export your file where you want it. QT7 will pretty quickly generate the new file, so fast that it is very obviously not re-encoding. Should only take a few minutes at most.
  10. Rinse & repeat for as many clips as you have in the larger movie.
  11. Enjoy your new clips!
7
  • 1
    You can just make 3 copies of your mp4, and use the Trim command in QuickTime Player on each, to give part of the original file. No tricksy multi-megabyte copy and paste that way. Sep 16, 2017 at 22:42
  • What multi-megabyte copy & paste? Copying & pasting into a new file is instantaneous, and I certainly didn't notice any memory or storage issues whatsoever (and my system is generally running pretty close to capacity in those regards). Making 3 copies of the original huge file, seems to me that it would actually require a whole lot more storage and be more likely to have memory management issues.
    – JVC
    Sep 16, 2017 at 23:15
  • Where does one get a copy of qt7 or pro with a valid license key ie corrrctly registered?
    – Solar Mike
    Sep 17, 2017 at 8:01
  • Since Apple will no longer let you buy one, you'll have to hunt around the web I'm afraid. It can be a bit of a sketchy thing to have to do, but unfortunately it's the only way anymore.
    – JVC
    Sep 17, 2017 at 14:25
  • So you say, basically, use illegal software.... personally I use handbrake as it does the job neatly and you way is not the only way
    – Solar Mike
    Sep 17, 2017 at 17:30
1

Everything you need is already pre-installed. You only need avconvert

avconvert --start STARTTIME_IN_SECONDS(DEZIMAL ALLOWED) --duration DURATION_IN_SECONDS(DEZIMAL ALLOWED) --source YOURVIDEO.mp4 --output OUTPUT.mp4 --replace --progress --disableMetadataFilter --preset PresetPassthrough
-1

You can use ffmpeg

ffmpeg -i YOURVIDEO.mp4 --ss 00:00:00,00(STARTTIME) -t DURATION_IN_SECONDS(DEZIMAL ALLOWED) -c copy OUTPUT.mp4
1
  • Please stick to english in your posts.
    – nohillside
    Mar 8, 2022 at 11:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .