"Available", "supported", and "will work" are three very different things.
The officially compatible video cards for the original (1,1) Mac Pro are:
- NVIDIA GeForce 7300 GT
- ATI Radeon X1900 XT
- NVIDIA Quadro FX 4500 (and family)
- NVIDIA GeForce 8800 GT
These are the only cards that are supported in an original Mac Pro. Unfortunately, most are not particularly available any more. Apple no longer sells any of these cards, except the Quadro FX family (which is super-expensive and not consumer-oriented). I believe most, if not all, of the above officially supported cards are all Apple-specific variants. There are various non-Apple versions of the above, which may or may not work in a Mac Pro, depending on firmware compatibility (sometimes it is possible to program a Mac-compatible version of the firmware into a non-Apple card's non-volatile flash, thus enabling the use of a non-Apple version in the Mac Pro). But the bottom line is that it is not really possible to purchase these cards anymore (except for the super-expensive Quadro FX and maybe a small quantity of the others that can be found used on Amazon or eBay).
That said, there is at least one other card that is currently (as of Summer 2011) available that will work in an original Mac Pro. Although it is not listed as being officially compatible (and therefore not officially supported), there are numerous accounts in the Apple online store from customers who have reported that the ATI Radeon HD 5770 works just fine out-of-the-box in their original Mac Pros. I too purchased one from a local Apple Store and installed it in my original Mac Pro (running OS X 10.6.7), so I can state for a fact that this card does work just fine, and it doesn't require any hacking (no drivers to install, no firmware to be flashed) -- it just works right out of the box. It also performs quite a bit better than the older officially compatible cards. It also works just fine in Windows under Boot Camp (after downloading and installing the Boot Camp drivers from the ATI/AMD website).
The only caveat (and it is a very minor one) is that the installation instructions that accompany the card deviate somewhat from what is actually required in the original Mac Pro, due to minor variations between the internals of the older Mac Pros and the newer ones. For instance, the instructions mention sliding a PCI cage (to move a retention bracket), but the bracket is not present, and the cage doesn't move in the original Mac Pro (each PCI slot has it's own small retention "clip" instead). Also, the power connector on the motherboard is in a different location in the original Mac Pro.
If you do some research, you will find various other reports of users having success with other cards (especially various ATI Radeon variants). Oftentimes, it involves updating the firmware (flashing). However, the Radeon HD 5770 is the only currently available card I am aware of that will work out of the box.
Indeed, you should use QuickTime rather than iMovie: iMovie will import (and therefore usually encode) the movie, but will also force you to export, as you have noted.
The main interest of using QuickTime is to use its editing features.
Assuming you're using QuickTime X (Snow Leopard / Lion), open your movie file, and hit ⌘T (or Edit > Trim). The timeline will morph into a yellow double-ended scrollbar so that you can trim the sequence.
Adjust it to fit the sequence you want, and validate the trimming with a click on the Trim yellow button. You can then simply save the file (⌘S), without the need for an export that will necessarily reduce quality.
Update seeing that you need to remove parts of the video.
You'll need the more advanced editing features of QuickTime 7. To install it on Snow Leopard or Lion, refer to Installing QuickTime Player 7 on Mac OS X v10.6 or Later on Apple's KB.
You'll then be able to open your video with QT7, select parts of your video with I (set input point) and O (set output point), and delete the part with a stroke of ⌫. Then, simply save the file, as said earlier.
You might need a license key for QT7, though (I don't remember if the latest versions of the OS need them or activate the Pro features for free).
Best Answer
iMovie (not lossless, but better than before)
iMovie v10 (released some time after the question was originally asked) now better handles more media types, so avoids the import re-encode for most H.264 (mp4, m4v, mov, AVHDC, mts, mt2s) content.
It will still, however, re-encode on export so cannot be technically lossless—another new feature, however, is the ability to customise the export quality, which can be closer-to-lossless. I suspect this part of the answer can apply equally to other 'project driven' video editing software (e.g. Premiere or Final Cut) because I think they all generally re-encode on output, though are usually very easy to use for precise trimming.
Personally, I generally think a single re-encode isn't a huge problem, but understand you did specifically ask for a lossless solution, so...
Lossless (but way more complicated!)
There are technical limitations as to how precisely you can cut a video without having to re-encode at least some part of it, and it basically depends on the i-frame frequency. If every frame is an i-frame, you can cut anywhere, but if they're only every few seconds, then you can only cut losslessly at those i-frames without losing content or having to re-encode (at least part of the stream) so it can start with an i-frame.
ffmpeg
This SO Q&A specifically raises the question of how to cut between i-frames using
ffmpeg
. I don't know of any GUI apps to do this, but basically you run a command something like the following:The two times specified are start and duration, and can be specified either as seconds or
hh:mm:ss.ss
, and the-acodec copy
and-vcodec copy
tell ffmpeg not to re-encode.I'm not exactly sure what happens if you cut too early, but I think the video is essentially blank (or maybe corrupt, depending on player) until it encounters an i-frame. So you'll probably want to find the nearest i-frame before your cut. This answer solves that problem using
ffprobe
andawk
, albeit a little awkwardly. Essentially you useffprobe
to scan the frames and find the nearest keyframe (flags=K
) before your ideal cut-point. Full output for each frame of the video can be seen like this:The linked answer supplies this command to find a keyframe before a specific time:
And finally, if you really need to cut somewhere between two i-frames, you can split the video and re-join. Based on the info from this answer, it should be something like:
Where
list_of_videos.txt
is a simple text file listing the files you want to concatenate.Summary
iMovie is probably good enough for most cases (since v10), and very easy.
ffmpeg can do it losslessly (or very close to losslessly), with a bit of fiddling; level of difficulty depends on how picky you are about the precise starting point, and frequency of i-frames.