Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>As a beginning, this article on Movie exporters should pretty much get you started:</p> <p><a href="http://www.mactech.com/articles/mactech/Vol.16/16.05/May00QTToolkit/index.html" rel="nofollow noreferrer">http://www.mactech.com/articles/mactech/Vol.16/16.05/May00QTToolkit/index.html</a></p> <p>Even though MacTech is a Mac resource, all described API functions should be available in the QuickTime for Windows SDK as well.</p> <p>I will slap some sample code together myself as a reference here as soon as I find the time.</p> <p><strong>Edit</strong></p> <p>See this book excerpt for additional info:</p> <p><a href="http://books.google.com/books?id=Q_LCwa_8-asC&amp;pg=PA121&amp;lpg=PA121&amp;dq=ConvertMovieToFile&amp;source=bl&amp;ots=4pQdHL-w8E&amp;sig=A6OiGPRIV-xvdV7esJxTDUDG1Tk&amp;hl=en&amp;ei=R1wvS8-uC9eGsAbo7-DDBw&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=9&amp;ved=0CBwQ6AEwCA#v=onepage&amp;q=ConvertMovieToFile&amp;f=false" rel="nofollow noreferrer">QuickTime Toolkit - Basic Movie Playback and Media Types @ Google Books</a></p> <p><strong>Edit 2 - The High-Level Approach: Movie Exporters</strong></p> <p>If all you need to accomplish is to extract all video frames from a QuickTime Movie and convert them to another format supported by the QuickTime API you won't have to take any low-level actions whatsoever if using a <strong>Movie Exporter</strong>.</p> <p>The below sample code allows to extract and convert all video frames from a QuickTime Movie to, f.e., a bunch of JPEG files using a programmatically invoked Movie Export Dialog.</p> <p>Just select <em>Movie to Image Sequence</em> in the <strong>Export</strong> combo box of the dialog and select your desired image format by hitting <strong>Options</strong>.</p> <p>Note 1: If you need to do this non-interactively, just let me know.</p> <p>Note 2: error handling has been omitted for clarity</p> <pre><code>#include "Movies.h" #include "QTML.h" #pragma comment (lib, "QTMLClient.lib") </code></pre> <p>...</p> <pre><code>int flags = createMovieFileDeleteCurFile | showUserSettingsDialog | movieToFileOnlyExport; ItemCount movie_prop_count = 0; CFStringRef cfpath = 0; Boolean bool_true = true; QTNewMoviePropertyElement movie_props[ 2 ]; Movie movie; // initialize QuickTime API InitializeQTML( 0 ); EnterMovies(); // set up Core Foundation string for source path (argv[ 1 ]) contains the full path to the MOV file to convert cfpath = CFStringCreateWithCString( 0, argv[ 1 ], kCFStringEncodingASCII ); movie_props[movie_prop_count].propClass = kQTPropertyClass_DataLocation; movie_props[movie_prop_count].propID = kQTDataLocationPropertyID_CFStringNativePath; movie_props[movie_prop_count].propValueSize = sizeof(cfpath); movie_props[movie_prop_count].propValueAddress = (void*)&amp;cfpath; movie_props[movie_prop_count].propStatus = 0; ++movie_prop_count; // make Movie active movie_props[movie_prop_count].propClass = kQTPropertyClass_NewMovieProperty; movie_props[movie_prop_count].propID = kQTNewMoviePropertyID_Active; movie_props[movie_prop_count].propValueSize = sizeof(bool_true); movie_props[movie_prop_count].propValueAddress = &amp;bool_true; movie_props[movie_prop_count].propStatus = 0; ++movie_prop_count; // aquire Movie for our Movie file NewMovieFromProperties( movie_prop_count, movie_props, 0, 0, &amp;movie ); // invoke conversion dialog ConvertMovieToFile( movie, 0, 0, 0, 'TVOD', 0, 0, flags, 0 ); // clean up DisposeMovie( movie ); CFRelease( cfpath ); ExitMovies(); TerminateQTML(); </code></pre> <p>...</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload