The GStreamer adventure part I: creating a Windows installer   68 comments

Update (February 11, 2009): The work originally presented in this post evolved into the WinBuilds project, maintained by Andoni Morales and myself. For more information check out the wiki, where you can download the latest gstreamer installers for windows, as well as access the help forum and register to the mailing list.

One main limitation when trying to use the GSVideo library for processing on windows was the relatively difficult task of installing GStreamer on a windows machine. Besides, the latest “official” installation packages for windows haven’t been updated for some time, while GStreamer code has been making continuous progress during the last months.

So, this situation was the motivation to create an alternative, simplified and up-to-date GStreamer installation package for windows. In fact, there is already a project with this very same goal, called OABuild, developed by Ole André Ravnas. OABuild contains a suite of MS Visual C++ projects that allows to compile GStreamer, among other useful open source libraries and tools, using the Microsoft compiler.

One problem with the current version of OABuild is that it includes a stripped-down version of FFmpeg, in order to compile it with MSVC. FFmpeg is the underlying library in GStreamer that provides support for decoding tons of commonplace video formats. However, the FFmpeg included in OABuild only provides a few codecs and hence wasn’t very useful to incorporate in a general GStreamer installer.

The aim of the following sections is to show the main tasks I had to accomplish in order to create this installer, starting with the compilation of a fully functional FFmpeg distribution under windows. This is not a step-by-step tutorial, only the steps or “tricks” I considered central for success are mentioned, while other details are assumed to be known.

Anyways, for those who are not interesting in these little nasty details, here you have a link where you can download the binary installer, as well as an installer of the development files, in case you need to compile applications that use GStreamer:

20080911 release of GStreamerOABuild installer

Please note that this is an initial release intended mostly for testing and debugging. Please let me know of any issues you might find with it.

Compiling FFmpeg under windows

So, for the task of compiling the latest source of FFmpeg, the Microsoft compiler is not an option, since FFmpeg uses features of the C99 specification of the C language which are not recognized by MSVC. What I did was to use MinGW and MSYS in order to compile FFmpeg with gcc, the GNU C compiler.

There were lots of useful information on how to compile and use FFmpeg on windows machines on this FFmpeg Windows help page, specially in the wiki and forum sections. However, the wiki has been down for a couple of months. I was able to recover some data from the copies stored in the Google cache. The forum seems to be online again, though.

I set up a MinGW + MSYS development environment, but the latest stable release of MSYS (1.0.10) won’t work to compile FFmepg because of an incompatibility between FFmpeg and the version of make included with 1.0.10. Version 1.0.11 solves this issue, and can be downloaded from here as individual packages. I prepared an installer that contains all those files in a single package, you can grab it from here.

Once MinGW and MSYS are installed, you have to fix the msys.bat file that is inside the root MSYS folder. The steps to perform this fix according to the FFmpeg Windows help site (gotten from Google cache) are the following:

“Open C:\msys\msys.bat in a plain-text editor, such as notepad.exe.

If you plan on compiling your apps with MSVC++ (note: your apps, not FFmpeg), you will need .lib files to link against FFmpeg’s libraries.
Those .lib files can be generated by the lib command from the Microsoft’s Toolchain.
For that, you must have Microsoft Visual Studio, or Microsoft Visual C++.
Add the following line to the beggining of msys.bat, replacing the path leading to vcvars32.bat to wherever that file is located in your computer:

call "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"

If you have Windows x64, you must add the following lines right after the :_WindowsNT label (line 36), or else the shell window will quickly open and close:

rem Hopefully a temporary workaround for getting MSYS shell to run on x64
rem (WoW64 cmd prompt sets PROCESSOR_ARCHITECTURE to x86)
if not "x%PROCESSOR_ARCHITECTURE%" == "xAMD64" goto _NotX64
set COMSPEC=%WINDIR%\SysWOW64\cmd.exe
%COMSPEC% /c %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
goto EOF
:_NotX64
"

The next important “trick” is to update the gcc included in the latest stable MinGW (which should be 3.4.5) to 4.2 or higher, otherwise FFmpeg will give nasty errors about wrong compilation and not properly aligned stack variables… I have tried gcc 4.30-preview available on the sourceforge page of MinGW, but the resulting FFmpeg is also broken. Fortunately, a version of gcc 4.2.4 available at this website worked fine. I was able to successfully compile FFmpeg (from the svn source snapshot taken on 2008-09-04) with the following configure parameters:

--enable-shared --disable-static --enable-memalign-hack --enable-w32threads

You can download a zip file containing the resulting dlls, lib files and headers from here.

Integration of MinGW-generated FFmpeg and OABuild

Once I obtained the FFmpeg’s dlls, lib and headers files, I had to remove the FFmpeg that comes included with OABuild by default and to create new MSVC projects for the MinGW-generated FFmpeg. The idea is to integrate these changes into the OABuild mainline pretty soon.

Fixes to OABuild

I replaced the source code of gst-ffmpeg in OAbuild with the one from the latest stable release (0.10.5). This code needed some changes in order to compile from MSVC:

  • Include <libavcodec/avcodec.h> and <libavformat/avformat.h> instead of <ffmpeg/avcodec.h> and <ffmpeg/avformat.h>
  • In gstffmpegenc.c do: replace in_plugin = first_avcodec; by in_plugin = av_codec_next(NULL); and in_plugin = in_plugin->next; by in_plugin = av_codec_next(in_plugin);
  • In gstffmpegdec.c, do: replace in_plugin = first_avcodec; by in_plugin = av_codec_next(NULL); and in_plugin = in_plugin->next; by in_plugin = av_codec_next(in_plugin);
  • In gstffmpegdemux.c, do: replace in_plugin = first_iformat; by in_plugin = av_iformat_next(NULL); and in_plugin = in_plugin->next; by in_plugin = av_iformat_next(in_plugin);
  • In gstffmpegmux.c, do: replace in_plugin = first_oformat; by in_plugin = av_oformat_next(NULL); and in_plugin = in_plugin->next;by in_plugin = av_oformat_next(in_plugin);

Also, the qtdemux element wasn’t included in OABuild. Without it is not possible to open quicktime mov files. Again, using the qtdemux code from the latest gst-plugins-good package, I created a project file inside OABuild. The following changes in code were needed in order to compile the pluign:

  • In qtdemux_dump.h, change #include <qtdemux.h> with #include “qtdemux.h”
  • Then remove gstrtpxqtdepay.c y gstrtpxqtdepay.h from project.
  • Comment out the occurrence of gst_tag_freeform_string_to_utf8 in qtdemux.c and the following code: if (!gst_element_register (plugin, “rtpxqtdepay”, GST_RANK_MARGINAL, GST_TYPE_RTP_XQT_DEPAY)) return FALSE; in quicktime.c

Creating binaries with the ReleaseWdkCrt option

The binaries resulting from compiling with the Release option in OABuild won’t work unless the machine where they are installed also has the MSVC 2008 redistributable package installed on it. It is a small nag, but ideally the GStreamer installer shouldn’t need any aditional libraries in order to be it entirely self-contained. This is solved by using the ReleaseWdkCrt compiling option, which requires to use some CRT object files that come with the Windows Driver Kit (WDK). This is kind of a messy topic, and here it is explained in detail the logic of this workaround. The WDK can be downloaded after creating a free account on Microsoft Connect. Then, only the following files from the WDK (located in C:\WinDDK\6001.18002\inc\crt) have to be copied inside <OABuild root>\build\builddeps\wdkcrt.

About these ads

Posted September 12, 2008 by ac in Programming

Tagged with , , , , , , , , , ,

68 responses to “The GStreamer adventure part I: creating a Windows installer

Subscribe to comments with RSS.

  1. It’s nice to see my documentation of the WDK’s build environment and its ability to link with MSVCRT.DLL continues to prove useful for a variety of projects.

  2. Pingback: New release of GSVideo: 20080911 « codeanticode

  3. I see we are been working on the same in the last week. I saw the mail Ola Andre sent to the gstreamer devel list mentioning that you was able to compile the gst-ffmpeg plugin with a full ffmpeg version and started trying by my self trying to add more codecs support.
    Just try to compile divx, facc, vorbis, ogg, x264 and mp3lame with mingw. I followed these instructions updating the proposed version of each package to the newest one:
    http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-April/010355.html

    Many times a simple ./configure && make && make install worked

    Them just compile with these potions :
    ./configure –enable-faac –enable-mp3lame –enable-libxvid –enable-libx264 –enable-libvorbis
    –enable-gpl –enable-memalign-hack –disable-debug –extra-cflags=-I/usr/local/include –extra-ldflags=-L/usr/local/lib
    make

    You’ll get a ffmpeg with even more codecs.

    I dindn’t mange to add libfaad support as I got a strange error message, but I think it just need some more testing work.

    Regards, Andoni Morales

    (If oyu need any help contact me)

  4. Hey Andoni, this is a really great tip! I soon realized that ogg and mp3 files, for instante, weren’t being reproduced with the gstreamer package I made available the other day. This should solve it.
    Thanks a lot!
    Andres

  5. The future of my project depends on getting GStreamer working on Windows and I’m working on it every day I can… I think the great Ole Andre’s work with OAbuild and your last aportations to the OABuild project will definitivly create an usable GStreamer release for Windows.

  6. This project is great! When do you plan another release with the mp3 and ogg fixed?

  7. Thanks.

    I cannot tell you right now when the next release will be ready, as I’ll be busy testing gstreamer on OSX for a while.

  8. Hello guys, it’s really nice thing that there are people trying to adapt gstreamer to windows. I’ve been working on porting gstfaad plugin from gst-plugins-bad-0.10.8 from src to windows by using Visual Studio 2005, but someway i still get errors. Could you someway help me in this? I have been trying using OABuild V1 (I have license only for VS2005) and yet I can’t compile it.

    I did compile the gstfaad under linux and it works, but under VS2005 the same code give nasty errors related to faad. I am using libfaad 2.6.1 downloaded from faad’s site and compiled it under VS2005.

    Tnx for any help.

  9. I have never tried to compile libfaad, so I don’t have much experience on this topic. Perhaps it would be better if you ask the people who are making the windows releases in this website: http://www.rarewares.org/aac.php. They certainly should what are the workarounds to get libfaad compiled using the ms compiler.

    An alternative to the use of msvc would be to compile libfaad2 using mingw.

  10. They do provide a compilable faad2 library on their site, and I compiled it.
    But this is not what I am fighting with.
    I am having a rough time now compiling the Gstreamer plugin called gstfaad(from gst-plugins-bad) using VS2005. I want to create a dll for this certain plugin.
    If I am not wrong OABuild V2 doesn’t provide this plugin either.

  11. I’m afraid I cannot help you much with this… OABuild V2 doesn’t include gstfaad yet.

    What type of errors are you getting from VC?

  12. I managed to build gstfaad using Visual Studio 2005. It wasn’t that hard. If I have some free time I’ll upload it or describe my way to compile gst-plugins using Visual Studio.

  13. Great! congratulations!

    Feel free to post here the steps you followed in order to compile gstfaad, if you wish to.

    Did you do it within OABuild V1? You can send the faad msvc project files and patched source code to Ole Andre, so he merges into OABuild V2.

  14. I installed GStreamerOABuild-20080911 on XP. I get messages that the application configuration is incorrect:

    C:\gstreamer\bin>gst-inspect-0.10 audiotestsrc

    ** (gst-inspect-0.10.exe:4032): WARNING **: Failed to load plugin ‘C:\gstreamer\lib\gstreamer-0.10/libdshowsrcwrapper.dll’: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.

    Any idea what I need to do? I reinstalled several times, always with the same result. I also tried the devel package.

    I am trying to find out whether the libraries in this package include cdparanoia.

    Also, are Python bindings available?

  15. Hi Jeff,

    The dshowsrc plugin is not functional in this release, not sure why however. I’ll try to fix in the next version…

    Anyways, you should be able to run pipelines like this:
    gst-launch-0.10.exe filesrc location=video.avi ! decodebin ! ffmpegcolorspace ! directdrawsink

    For video capture, you can try the ksvideosrc element.

  16. Hi:
    In order to use libgstdshowdecwrapper you have to include libgstvolume.(It complains about “missing volume plugin”)
    libgstvolume doesn’t compile with the OAbuild’s liboil.
    I compiled liboil 0.3.15 winth mingw and I finally manged to compile libgstvolume using OAbuild.
    I can send you a copy of the dll, the .lib file, and the includes by mail if you want.
    Now libgstdshowdecwrapper works well!!!
    I also compiled the libgstffmpeg plugin linked to a full-supported ffmpeg (xvid,faac,mp3, and the defaults one).
    However, I dropped the libgstdshowdecwrapper as for video files with mp3 audio, it fails. Instead I use the ffmpeg plugin to decode, and it decodes almost everything!!!

  17. By the way… How do you set up the ReleaseWdkCrt option in VS?

  18. With the command that you gave me, I get:

    The procedure entry point gst_xml_new could not be located in the dynamic link library libgstreamer-0.10.dll.

    In fact, any command with gst-launch-0.10.exe produces the same message, even the command with no arguments.

  19. Hi Andoni,

    Great, thanks for figuring out how to make dshowdecwrapper work. So, it’s a matter of using a mingw-compiled version of liboil, I see…

    I haven’t worked on gstreamer for the last month (finishing some projects at school), but after this week I’ll return to it. I’ll try to include the fixes and suggestions that people have made so far.

    As for compiling GStreamer using the ReleaseWdkCrt configuration, you just select it from the drop down menu of Solution configurations. However, for this configuration to work you need to install some files from the windows driver kit (see the last paragraph of this post).

  20. Hey Jeff,

    From what you wrote, I’m not sure what the problem could be. I have tried the distribution on several windows xp and vista machines, and other than the issue with the dshow wrapper, it seems to work ok.

    There might be some specific incompatibility with your XP system…

    Andres

  21. HI again:
    I’m trying t use the ReleaseWdkCrt but the linker complains about unresolved symbols:
    error LNK2001: unresolved external symbol __RTC_Shutdown
    error LNK2001: unresolved external symbol __RTC_CheckEsp
    error LNK2001: unresolved external symbol __RTC_InitBase
    Any idea?

  22. The error comented by jefbarish:
    The procedure entry point gst_xml_new could not be located in the dynamic link library libgstreamer-0.10.dll.
    is solved compiling with the “Release” option.
    I also had the same problem whencompiling with the “Debug” option, and it got solved using the “Release” option

  23. Hi Andoni,

    I’d be very interested in getting these files from you to test out some work I’m doing on vista as I keep getting an error about libgstdshowdecwrapper and a missing volume element.

    Thanks in Advance,
    Adrian.

  24. Hello everybody.

    I’d also be very interested in trying the libraries that solve the problem of ‘libgstdshowdecwrapper’. Andoni or codeanticode, could you upload a version compiled and updated?

    Thank you very much for your work (codeanticode, Andoni and others)

  25. Hi every body!
    This is the download link for my project using GStreamer on Windows:
    http://forja.rediris.es/frs/download.php/918/LongoMatch-0.9-win32_x86.exe
    You could find the gstreamer dll’s to test it. You have to install the VS redistributable package with ships with the program(vcredist_x86.exe).
    It plays almost every video format but actually sound doesn’t work and I don’t really know why, because the ffmpeg plugin is compiled with mp3 support…
    I also found another way to get an usable GStreamer release for Windows in the elisa project (http://www.theelisaproject.org/), just check it out.

  26. Hi!
    The last message was posted by me. I forgot to say that you can also find there the libgstvolume.dll plugin, that solves the problem with the DirectShow wrapper.

  27. hey longomatch, how did you manage to get gstreamer to work inside your application folder?

  28. Hi! (I’m the same as longomatch…). It’s very simple.
    The GStreamer libs must be or in a directory defined in the PATH variable, or in the same directory as the executable. I choosed the second option, and I copy the gstreamer libs and it’s dependencies in the /bin dir.
    The next step is to define the environmental variable GST_PLUGIN_PATH. This can be done usign a .bat file or hardcoding it.
    My application is writen in C#, and I can set environmental variables like this:
    Environment.SetEnvironmentVariable(“GST_PLUGIN_PATH”,baseDirectory+”..\\lib\\gstreamer-0.10″);
    where base directory is the bin directory.
    I think other languages ca do the same.
    It’s a cool way to embed GStreamer in the application!!! No need to ask your users for further installations.

  29. I forgot to mention there is another way to set up the plugins diretory: gst_registry_scan_path(GstRegistry *registry, const gchar *path)
    You can find further details in the
    I did not test this option, but It seems to be a valid way to do it.

  30. Hola Andoni, many thanks for the tips! And congratulations for the long-o-match app, I played around with it the other day, looks great. One small comment though, it seems that cannot load mov files. The Qtdemux plugin doesn’t compile in OABuild, but I did some small changes in the code that allow to do it (described in the post). Did you try them?

  31. Hola Andres. Thanks for the comment,I didn’t notice you was able to compile the quicktime plugin plugin! Can you mail me the project file? I’m very lazy these days and I hate to deal with Visual studio…
    By the way I managed to compile gstvolume plugin which is needed for many audio elements to work. I just had to update the liboil version that “ships” with OAbuild to newest one.This version declares a new class, scalarmultiply_f64_ns, witch is referenced in gstvolume.c I had to compile it with mingw, but it just works. I can mail you the build deps, so you can try it.

  32. Hi,
    I am trying to capture raw video using ksvideosrc element as suggested. i am trying to capture it in h264 format but for that it requires a plugin called “x264enc” which is not there. anyone has any idea how to find and include that plugin? Thanks in advance..

    • Hello,

      The problem is that all the pipelines that GSVideo constructs finish with a RGBDataSink that directs the video frames into Processing’s canvas.

      I’m currently modifying the GSPipeline class to allow defining a pipeline that ends at a filesink element. I’ll let you know when it is ready.

      Andres

  33. Hi Andres,
    Thanks, what I am presently executing as a pipeline is:

    gst-launch-0.10 -m -v
    ksvideosrc name=”device-name” !
    ffmpegcolorspace !
    ‘video/x-raw-yuv,format=(fourcc)I420,width=(int)[16,720],height=(int)[16,480]‘ !
    videoscale method=1 !
    ‘video/x-raw-yuv,format=(fourcc)I420,width=(int)[16,720],height=(int)[16,480]‘ !
    x264enc byte-stream=TRUE cabac=false !
    filesink location=”./test.264″

    But it gives error:
    no such element or plugin x264enc.

    Is there any work around for that? If no than where to find this plugin and how to integrate that with OABuild?

    -Sumit

    • I’ve been able to encode with the xvid4 codec using the ffenc_mpeg4 plugin:

      > gst-launch-0.10.exe ksvideosrc ! ffmpegcolorspace ! video/x-raw-yuv,width=320,height=240,bpp=32,depth=24 ! ffenc_mpeg4 ! avimux ! filesink location=test.avi

      We are currently working in a new release of OABuild, and this could include the x254enc plugin as well.

  34. Hi Andres,
    That’s great. When are you planning for next release?
    I want to store that in .264 format only. Is it possible with current version of OABuild? (any quick-fix :-) )

    -Sumit

  35. This week or the next.

    As for a quick fix, it is not so easy, because as far as I know, including the x264 encoder requires recompiling the ffmpeg libraries that come with gstreamer.

  36. I am looking forward for that release :-).. and someone suggested me that x264 is the part of gstreamer bad plugins, but i don’t know how to build the required dll’s from them and to integrate with OABuild. When I tried to build using visual studio, it gives error about some vcproj missing ( with gst-plugins-bad 0.10..9).

  37. In the meantime, you can try some of the new things that I’m implementing in gsvideo, for example: being able to define a GSPipeline that ends in a filesink element. Take a look at the example Capture2File available in this package:

    http://users.design.ucla.edu/~acolubri/test/gsvideo-20081217.zip

  38. Hi Andres,
    I tried those pipelines. Meanwhile, I tried to compile ffmpeg using installer for environment (msys+ mingw) provided by you. when I executed ./configure, i got the error ” configure: error: no acceptable ld found in $PATH” . what to put in the PATH?

    -Sumit

  39. Thanks Andres, will go through all those informations. :)How is your work on new release is going on?

  40. testing… testing… :-)

  41. hmmm…tell me if you want me to test somethings. Though I don’t have much knowledge, but i can check pipelines ( related to H264) and the various plugins(i know the pipelines to test some audio and video plugins) :-)

  42. With Andoni we are preparing two separate releases, one for XP and another for Vista. Here you have a test installer for the Vista release:

    http://users.design.ucla.edu/~acolubri/test/GStreamerOABuild-20081223-Vista32.exe

    It includes the x264 encoder element, but still not working very well. Later I’ll upload a test installer for XP.

  43. Hi Andres,

    I don’t have Vista. Though i installed that on Xp ( just to give it a shot :-) ) but gst-inspect didn’t work. It gives error like ” The procedure entry point_except_handler4_common could not be located in the dynamic link library msvcrt.dll” Sorry to disappoint you on that side. If test installer is ready for Xp, I can check on that or if you have created the dll for x264enc, i can try to put that in the lib of earlier release of OABuild and check whether that will work or not.
    Merry Christmas!!
    -Sumit

  44. Hi Andres,

    I have downloaded libgstx264.dll from this site https://forja.rediris.es/plugins/scmsvn/viewcvs.php/trunk/LongoMatch/gst-plugins/libgstx264.dll?root=csl-longomatch&sortdir=down&view=log
    I copied that to lib of gstreamer but when I did gst-inspect after that, it crashes. Could you help?

  45. Hi,
    Great work. I have checked working of quite a few plugins like ksvideosrc, ffmpegcolorspace, directdrawsink, ffenc_mpeg4 etc. They all work fine. But my problem is still same, the x264enc plugin is not working. Though, it gets loaded but when i tried to do gst-inspect (or gst-launch using some pipeline), it crashes.
    -Sumit

  46. Hello,

    first of all thanks for providing the build, it really helps!

    I have used GStreamerOABuild-20080911.exe, but then when trying to playback a .mov file (containing AAC + H264), it displays just a black window. Instead if using a JPEG file as input, the JPEG is correctly displayed (just wanted to cross check the build was ok).
    I am using jna-3.0.4.jar and gstreamer-java-bin-1.0.jar with this build. Is this correct? or should we used an older release?

    I am running windows XP SP2. Java 1.6.0_07 and ran the following command:
    C:\gstreamer3\bin>java -Djna.library.path=c:\gstreamer3\bin -cp jna-3.0.4.jar;gstreamer-java-bin-1.0.jar org.gstreamer.example.VideoPlayer c:\streams\bolt\bolt-tlr1_h1080p.mov

    Investigating the issue, I saw in this post the new build (GStreamer-OABuild-20081230-XP.exe), once installed and running the following, I get an assertion fail:
    C:\gstreamer3\bin>java -Djna.library.path=c:\gstreamer3\bin -cp jna-3.0.4.jar;gstreamer-java-bin-1.0.jar org.gstreamer.example.VideoPlayer c:\streams\bolt\bolt_galleryteaser.jpg

    (java.exe:6076): GLib-GObject-CRITICAL **: file ..\..\gobject\gobject.c: line 1642: assertion `G_IS_OBJECT (object)’ failed

    (java.exe:6076): GLib-GObject-CRITICAL **: file ..\..\gobject\gobject.c: line 355: assertion `G_IS_OBJECT_CLASS (class)’ failed
    Exception in thread “main” java.lang.IllegalArgumentException: Unknown property: uri
    at org.gstreamer.GObject.set(GObject.java:84)
    at org.gstreamer.elements.PlayBin.setURI(PlayBin.java:283)
    at org.gstreamer.elements.PlayBin.setInputFile(PlayBin.java:274)
    at org.gstreamer.example.VideoPlayer.main(VideoPlayer.java:61)

    I was wondering if you have encountered the same type of errors and what could be the solution?

    Thanks,
    Greg

    • I think this problem is related with the use of the H264 codec. You could try the new release of gsvideo (0.4.5), the windows package doesn’t require installing gstreamer separately since it comes with a full distribution of gstreamer inside. But it is basically the same as 20080911, so the problem you have is very likely to reappear.

      With GStreamer-OABuild-20081230-XP, where you able to play your video file from the command line using gst-launch?

  47. Hi,
    I have tried playing a h264 video file(without audio) from the command line, it worked fine. Though have not tried .mov file format (because i don’t know the pipeline).
    Is there any link where there is link for building gstreamer on windows from scratch ?( I have looked at OA build site, but the information there is not sufficient for me at least).

  48. Hi,

    thanks “codeanticode” for your support.
    Looking closer at the issue, I found out I had a path issue. Some DLLs were linked from a different path than the one from your build.
    Tracing which DLLs was linked by the application helped finding the issue (I used process explorer from sysinternal).
    I went back to GStreamer-OABuild-20081230-XP (and double checked the DLLs being linked), and I am now able to play back the .mov file (H264 + AAC) using org.gstreamer.example.SwingPlayer

    Lesson (note to self): triple check the DLLs being linked by your application…

    Thanks again for your help!

    Greg

  49. Hi Greg,
    I am actually discussing in the GStreamer mailing list to centralize OABuild alongside GStreamer in the same repositories.

  50. Andres,

    the culprit DLLs were: avcodec, avformat, avdevice, avutils (all from ffmpeg), which were compiled using mingw and installed in mingw/bin. mingw/bin being in my windows path in first position, it created the clash.

    Regarding centralizing the libs, I agree it would make sense to combine this. gstreamer is a great project to use / build upon, it is a pity the windows platform was so behind with standard install.

    Greg

  51. A possible solution to greg’s problem is to compile the ffmpeg plugin linking statically to avcodec avformat and avutils. I’ll fix this in the next release

  52. A similar thing I have been experiencing also with gstjpeg, and one solution was to link statically against the jpeg dll.

  53. Hi,
    I am trying to capture and stream video and I want its local playback also.
    Is there any method to enable both streaming to a remote pc as well as having local playback simultaneously.

    -Thanks in advance..

  54. How about python bindings for 2.6 and 3.0?

  55. Hey, got the ans. I had used tee element after capture to have both stream and local playback..

  56. Hi Andres,

    I have tried the latest installer of gstreamer windows (02 Feb) developed by you and Andoni. Though gst-inspect of x264enc worked fine, but when I tried using that in pipeline, it throws an error ” Cannot intialize x264 encode”. If possible look into that.

    -Sumit

  57. Hi Greg,

    How do you use process explorer to know dll specific information? Could you give more information? I am a quite beginner.

    Tse

  58. Hi Tse, to check dll information, specifically the dependencies on other libraries, I use dependency walker: http://www.dependencywalker.com/

  59. Hello,

    My Moovida (Windows Version),formerly the elisa project cannot play DVD, MPEG, MP3 files and other format. i know this is a plug in problem. can rebuilding it using from the scratch solve this problem. if i rebuild it does any one know where (which folder) I’ll put it so that Moovida sees it and will play all files. i installed the winbuild installer given on this site: http://ossbuild.googlecode.com/files/GStreamerWinBuild-0.10.4.exe but the problem persists.

    Please Advise

    • Moovida probably has its own version of gstreamer inside the application folder. You could try replacing it with the files from gstreamer-winbuild, but this might create some incompatibilities problems.

      If you rebuild moovida from scratch (something I never did myself) you might need to use the devel package of gstreamer-winbuilds.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 60 other followers

%d bloggers like this: