Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP

Autres articles (21)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

Sur d’autres sites (5625)

  • starting and stopping the ffmpeg video capture within a C ++

    29 août 2015, par yure albuquerque

    It is possible to start FFmpeg from inside a C ++ program and it sending a character ’q’ automatically according to the local time by exemple ?A command line would be to capture the desktop video.

    ffmpeg -f dshow -i video=UScreenCapture output.mp4

    (’q’ to quit)

    I am trying the following code does not work more :

    #include <iostream>
    #define WINDOWS_LEAN_AND_MEAN
    #include
    #include
    #include <iostream>
    #include <thread>
    #include <cassert>
    #include

    using namespace std;

    enum { ParentRead, ParentWrite, ChildWrite, ChildRead, NumPipeTypes };

    int main()
    {
       SECURITY_ATTRIBUTES sa;
       sa.nLength = sizeof(sa);
       sa.bInheritHandle = TRUE;
       sa.lpSecurityDescriptor = NULL;

       HANDLE pipes[NumPipeTypes];
       if (!CreatePipe(&amp;pipes[ParentWrite], &amp;pipes[ChildRead], &amp;sa, 0))
           return 0;
       if (!CreatePipe(&amp;pipes[ParentRead], &amp;pipes[ChildWrite], &amp;sa, 0))
           return 0;

       // make sure the handles the parent will use aren't inherited.
       SetHandleInformation(pipes[ParentRead], HANDLE_FLAG_INHERIT, 0);
       SetHandleInformation(pipes[ParentWrite], HANDLE_FLAG_INHERIT, 0);

       STARTUPINFO si;
       ZeroMemory(&amp;si, sizeof(STARTUPINFO));

       si.cb = sizeof(STARTUPINFO);
       //si.wShowWindow = SW_SHOW;
       si.dwFlags = STARTF_USESHOWWINDOW;
       si.dwFlags |= STARTF_USESTDHANDLES;
    //    si.dwFlags = STARTF_USEHOTKEY;
       si.hStdOutput = pipes[ChildWrite];
       si.hStdError = pipes[ChildWrite];
       si.hStdInput = pipes[ChildRead];
       //si.hStdInput = stdout;
       PROCESS_INFORMATION pi;
       ZeroMemory(&amp;pi, sizeof(PROCESS_INFORMATION));

       TCHAR cmd[] = "ffmpeg -f dshow -i video=UScreenCapture output.mp4";
       if (!CreateProcess(NULL, cmd, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &amp;si, &amp;pi))
           return 0;

       CloseHandle(pi.hProcess);
       CloseHandle(pi.hThread);

       Sleep(20000);
       cout&lt;&lt;"End"&lt;/stop process(failure)

       CloseHandle(pipes[ChildRead]);
       CloseHandle(pipes[ChildWrite]);
       CloseHandle(pipes[ParentWrite]);
       CloseHandle(pipes[ParentRead]);
       return 0;
    }
    </cassert></thread></iostream></iostream>
  • Intsallation of ffmpeg-php on Amazon Ec2 Linux AMI

    1er décembre 2015, par Tanny

    I am about two days into attempting to install FFMPEG-php with dependencies on an AWS EC2 instance running the Amazon Linux AMI. I’ve installed FFMPEG, and have read reportedly successful instructions on installing on Red Hat/Fedora. I have followed a number of tutorials and forum articles to do so, but have had no luck yet. As far as I can tell, the main problems are as followed :

    I have installed all the dependency for ffmpeg-php. I run the following command successfully.

    $wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
    $tar xvfj ffmpeg-php-0.6.0.tbz2
    $phpize

    But when I run the following command it throw the error like below :

    $sudo ./configure

    configure : error : ffmpeg shared libraries not found. Make sure ffmpeg is compiled as shared libraries using the —enable-shared option}

    I have used enable shared option with shared enable option but it throw the same error.

    On to my question : Has anyone successfully installed FFMPEG-php on Amazon Linux ? Is there a fundamental incompatibility ? If anyone could share specific instructions on installing ffmpeg-php on amazon linux I would be greatly appreciative. Any other insights/experiences would also be appreciated.

  • ffmpeg c++/cli wrapper for using in c# . AccessViolationException after call dll function by it's pointer

    25 juillet 2015, par skynet_v

    My target is to write a c++/cli wrap arount ffmpeg library, using by importing ffmpeg functions from dll-modules.
    Later I will use this interface in c#.
    This is my challenge, don’t ask me why))

    So i’ve implemented Wrap class, which is listed below :

    namespace FFMpegWrapLib
    {
       public class Wrap
       {
       private:

       public:
           //wstring libavcodecDllName = "avcodec-56.dll";
           //wstring libavformatDllName = "avformat-56.dll";
           //wstring libswscaleDllName = "swscale-3.dll";
           //wstring libavutilDllName = "avutil-54.dll";

           HMODULE libavcodecDLL;
           HMODULE libavformatDLL;
           HMODULE libswsscaleDLL;
           HMODULE libavutilDLL;

           AVFormatContext     **pFormatCtx = nullptr;
           AVCodecContext      *pCodecCtxOrig = nullptr;
           AVCodecContext      *pCodecCtx = nullptr;
           AVCodec             **pCodec = nullptr;
           AVFrame             **pFrame = nullptr;
           AVFrame             **pFrameRGB = nullptr;
           AVPacket            *packet = nullptr;
           int                 *frameFinished;
           int                 numBytes;
           uint8_t             *buffer = nullptr;
           struct SwsContext   *sws_ctx = nullptr;

           void                Init();
           void                AVRegisterAll();
           void                Release();
           bool                SaveFrame(const char *pFileName, AVFrame * frame, int w, int h);
           bool                GetStreamInfo();
           int                 FindVideoStream();
           bool                OpenInput(const char* file);
           AVCodec*            FindDecoder();
           AVCodecContext*     AllocContext3();
           bool                CopyContext();
           bool                OpenCodec2();
           AVFrame*            AllocFrame();
           int                 PictureGetSize();
           void*               Alloc(size_t size);
           int                 PictureFill(AVPicture *, const uint8_t *, enum AVPixelFormat, int, int);
           SwsContext*         GetSwsContext(int, int, enum AVPixelFormat, int, int, enum AVPixelFormat, int, SwsFilter *, SwsFilter *, const double *);
           int                 ReadFrame(AVFormatContext *s, AVPacket *pkt);
           int                 DecodeVideo2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, const AVPacket *avpkt);
           int                 SwsScale(struct SwsContext *c, const uint8_t *const srcSlice[], const int srcStride[], int srcSliceY, int srcSliceH, uint8_t *const dst[], const int dstStride[]);
           void                PacketFree(AVPacket *pkt);
           void                BufferFree(void *ptr);
           void                FrameFree(AVFrame **frame);
           int                 CodecClose(AVCodecContext *);
           void                CloseInput(AVFormatContext **);
           bool                SeekFrame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags);

           Wrap();
           ~Wrap();

           bool                GetVideoFrame(char* str_in_file, char* str_out_img, uint64_t time);
       };

       public ref class managedWrap
       {
       public:

           managedWrap(){}
           ~managedWrap(){ delete unmanagedWrap; }

           bool GetVideoFrameToFile(char* str_in_file, char* str_out_img, uint64_t time)
           {
               return unmanagedWrap->GetVideoFrame(str_in_file, str_out_img, time);
           }

           static Wrap* unmanagedWrap = new Wrap();
       };
    }

    So the imports to libavcodec and etc. are succesful.
    The problem is in AccessViolationException during calling dll func, for example, in OpenInput (i.e. av_open_input in native ffmpeg library)

    The OpenInput func code is below :

    bool FFMpegWrapLib::Wrap::OpenInput(const char* file)
    {
       typedef int avformat_open_input(AVFormatContext **, const char *, AVInputFormat *, AVDictionary **);

       avformat_open_input* pavformat_open_input = (avformat_open_input *)GetProcAddress(libavformatDLL, "avformat_open_input");
       if (pavformat_open_input == nullptr)
       {
           throw exception("Unable to find avformat_open_input function address in libavformat module");
           return false;
       }

       //pin_ptr<avformatcontext> pinFormatContext = &amp;(new interior_ptr<avformatcontext>(pCodecCtx));
       pFormatCtx = new AVFormatContext*;
       //*pFormatCtx = new AVFormatContext;


       int ret = pavformat_open_input(pFormatCtx, file, NULL, NULL); // here it fails

       return ret == 0;
    }
    </avformatcontext></avformatcontext>

    So the problem, i think, is that class-fields of Wrap class are in secure memory. And ffmpeg works with native memory, initialising pFormatCtx variable by it’s address.
    Can I avoid this, or it is impossible ?