How do I extract an embeded flash movie from PowerPoint?

Discussion in 'Microsoft Powerpoint' started by Guest, Nov 22, 2005.

  1. Guest

    Guest Guest

    I know how to embed Flash movies but how do I extract them once they have
    been embeded and get them back into .swf form?
     
    Guest, Nov 22, 2005
    #1
    1. Advertisements

  2. Do a SAVE AS and choose SAVE FOR WEB (HTML). Then go into the assets folder
    and you will find the .swf file.

    --
    --
    Troy Chollar
    TLC Creative Services
    << Microsoft MVP, PowerPoint >>

    "seabass_jb" <> wrote in message
    news:...
    >I know how to embed Flash movies but how do I extract them once they have
    > been embeded and get them back into .swf form?
     
    Troy @ TLC Creative, Nov 22, 2005
    #2
    1. Advertisements

  3. Guest

    Guest Guest

    This doesn't work. I have tried this. The embedded flash file just comes up
    as an image. Any other ideas?

    "Troy @ TLC Creative" wrote:

    > Do a SAVE AS and choose SAVE FOR WEB (HTML). Then go into the assets folder
    > and you will find the .swf file.
    >
    > --
    > --
    > Troy Chollar
    > TLC Creative Services
    > << Microsoft MVP, PowerPoint >>
    >
    > "seabass_jb" <> wrote in message
    > news:...
    > >I know how to embed Flash movies but how do I extract them once they have
    > > been embeded and get them back into .swf form?

    >
    >
    >
     
    Guest, Nov 22, 2005
    #3
  4. Guest

    Guest

    Hi, I saw an artical about how to extract .swf from PPT files and
    think it's quite useful, hope it helps.
    ---------------------------------------------
    We had a Power Point Presentation file given us a few days ago with an
    embedded flash file which we needed to extract to use on the website.


    We couldn't find any way to do this. We could drag and drop the swf
    onto another presentation, we could even drag the object onto the
    desktop. This created a scrap file which was rather annoying.


    However, this led me to the discovery of the NeverShowExt registry key.

    I managed to rename the scrap to a have a .swf extension, but still no
    cookie.


    So I started digging around the scrap to see if I could find the swf
    object inside and after reading an introduction to SWF I found what I
    was looking for.


    Now I just wanted to extract this binary data from the scrap file, and
    I wanted to do it the hard way!


    So I wrote a small amount of code to look through a file and extract
    the goodies. The main part of the code was to take a byte array and
    copy that into my SWF struct - using the
    System.Runtime.InteropServices.Marshal class.


    After a bit of messing around the code runs like a dream. The final
    executable takes 2 parameters the first is the file containing the SWF
    and the second is the file to write the SWF.


    using System;
    using System.IO;
    using System.Runtime.InteropServices;


    namespace FlashExtractor
    {
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class Class1
    {
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
    //assume param 1 is the location of the
    shockwave file
    byte[] file = new
    byte[Marshal.SizeOf(typeof(swf))];


    FileStream fs = File.Open(args[0],
    FileMode.Open,
    FileAccess.Read,FileShare.Read);
    int i=0;
    //go through the file byte by byte
    //could I have seeked this?
    while (i<fs.Length-8)
    {
    //set the position in the file
    fs.Position = i;
    //read off 8 bytes worth of data to put
    into the swf struct
    fs.Read(file,0, 8);
    IntPtr ptr =
    Marshal.AllocHGlobal(file.Length);
    Marshal.Copy(file, 0x0, ptr,
    file.Length);
    swf s = (swf)
    Marshal.PtrToStructure(ptr, typeof(swf));


    // if the struct header is FWS then we
    may have a flash file
    if (s.header1==0x46 && s.header2==0x57
    && s.header3==0x53)
    {
    //we have the identity of a
    flash file
    Console.WriteLine("Found the
    header of a flash file");
    Console.WriteLine("Version:
    {0}", s.version);
    Console.WriteLine("Size: {0}",
    s.size);


    //if the size of the fws is <
    length of the file
    if (s.size + i<=fs.Length)
    {

    Console.WriteLine("Attempting to write the file to {0}",
    args[1]);
    FileStream fw =
    File.OpenWrite(args[1]);



    Console.WriteLine("Allocation byte array of {0} length", s.size);
    byte[] b=new
    byte[s.size];



    Console.WriteLine("Reseting the file back to position: {0}", i);
    fs.Position = i;



    Console.WriteLine("Reading from {0} to {1}", i, s.size);

    fs.Read(b,0,(int)s.size);



    Console.WriteLine("Writing byte array back to disk");
    fw.Write(b, 0,
    b.Length);


    fw.Close();
    break;
    }
    else
    {
    Console.WriteLine("The
    file is not of the correct size file: {0},
    {1}", s.size, fs.Length);
    }


    }
    i++;
    }
    fs.Close();


    }


    }


    [StructLayout (LayoutKind.Sequential, Pack = 0x1)]
    struct swf
    {
    public byte header1;
    public byte header2;
    public byte header3;
    public byte version;
    public UInt32 size;
    }



    }


    In theory this could be used to extract many forms of embedded binary
    data.
    ---------------------------------------
    http://www.sameshow.com
    A practical yet easy-to-use software to convert PowerPoint to Flash for
    publishing on Web or emailing to others
    ---------------------------------------
     
    , Nov 23, 2005
    #4
  5. Guest

    -=bb=-

    Joined:
    Mar 20, 2012
    Messages:
    1
    Likes Received:
    0
    Sorry to revive a zombie thread but this was the first result when looking for this on Google.


    I had exactly this problem and have written a blog post here (http://blog.interrupt3h.com/?p=250) that addresses the issue.


    The steps I followed were :


    1. Open PowerPoint file and ensure that it is saved as .pptx (the new XML Office format)
    2. Rename the .pptx as a .zip file
    3. Open the .zip file in winrar/winzip or your preferred utility
    4. Navigate to the .\ppt\activeX directory in the archive
    5. Extract all the .bin files to another directory
    6. Run the php script (here) on it


    Anyone with better PHP skills than I may be able to get it to run directly over the ppt (or even unzip the pptx automagically) but at least this way you can also extract from pptx as well.


    Hope it helps anyone Googling this issue.

    bb
     
    -=bb=-, Mar 20, 2012
    #5
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Guest
    Replies:
    2
    Views:
    286
    Guest
    Jun 29, 2006
  2. trophhor

    Powerpoint viewer 2003 dont play embeded flash movies

    trophhor, Jul 7, 2006, in forum: Microsoft Powerpoint
    Replies:
    2
    Views:
    383
    Austin Myers
    Jul 7, 2006
  3. Guest
    Replies:
    1
    Views:
    214
    Shyam Pillai
    Nov 28, 2006
  4. Guest
    Replies:
    9
    Views:
    1,466
    jagness
    Apr 30, 2010
  5. SJWannabe

    flash movie isn't embeded in Powerpoint2007

    SJWannabe, Oct 10, 2008, in forum: Microsoft Powerpoint
    Replies:
    8
    Views:
    486
    Echo S
    Oct 10, 2008
Loading...

Share This Page