Recherche avancée

Médias (5)

Mot : - Tags -/open film making

Autres articles (97)

  • 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 (...)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (8220)

  • avformat/mpjpegdec : Fix "libavformat/mpjpegdec.c:269:9 : warning : passing argument...

    4 décembre 2015, par Michael Niedermayer
    avformat/mpjpegdec : Fix "libavformat/mpjpegdec.c:269:9 : warning : passing argument 3 of av_stristart from incompatible pointer type"
    

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/mpjpegdec.c
  • linking libavcodec os x ffmpeg ApplicationServices.framework

    30 décembre 2015, par Grady Player

    Here is my error : (newer version of ffmpeg)

    dyld: Library not loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
     Referenced from: /Users/me/path/to/lib/libavcodec.dylib
     Reason: Incompatible library version: libavcodec.dylib requires version 64.0.0 or later, but ApplicationServices provides version 1.0.0

    I have read the questions on SO that say you need to link ApplicationServices.framework... which I have done, it makes no difference...

    I have searched for other versions of that framework :

    $ mdfind ApplicationServices.framework
    /System/Library/Frameworks/ApplicationServices.framework

    just one...

    so then inspecting frameworks...

    $ otool -L /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices:
       /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0)
       /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 600.0.0)
    ...

    and libavcodec

    otool -L ../lib/libavcodec.dylib
    ../lib/libavcodec.dylib:
       libavcodec.dylib (compatibility version 56.0.0, current version 56.60.100)
       @loader_path/libswresample.dylib (compatibility version 1.0.0, current version  ...
    ...
    /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 64.0.0, current version 600.0.0)

    I am compiling everything with -mmacosx-version-min=10.7

    so maybe a bug in the toolchain ?

    compiler :

    clang -v
    Apple LLVM version 7.0.2 (clang-700.1.81)
    Target: x86_64-apple-darwin15.2.0
    Thread model: posix

    linker :

    ld -v
    @(#)PROGRAM:ld  PROJECT:ld64-253.9
    configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em (tvOS)
    LTO support using: Apple LLVM 7.0.2 (clang-700.1.81)
  • FFMpeg copy streams without transcode

    8 juin 2016, par Zelid

    I’m trying to copy all streams from several files into one file without transcoding streams. Something you usually do with ffmpeg utility by ffmpeg -i “file_with_audio.mp4” -i “file_with_video.mp4” -c copy -shortest file_with_audio_and_video.mp4

    This is the code :

    int ffmpegOpenInputFile(const char* filename, AVFormatContext **ic) {

       int ret;
       unsigned int i;

       *ic = avformat_alloc_context();
       if (!(*ic))
           return -1; // Couldn't allocate input context

       if((ret = avformat_open_input(ic, filename, NULL, NULL)) &lt; 0)
           return ret; // Couldn't open file

       // Get format info (retrieve stream information)
       if ((ret = avformat_find_stream_info(*ic, NULL)) &lt; 0)
           return ret; // Couldn't find stream information

       for (int i = 0; i &lt; (*ic)->nb_streams; i++) {
           AVStream *stream;
           AVCodecContext *codec_ctx;
           stream = (*ic)->streams[i];
           codec_ctx = stream->codec;
           /* Reencode video &amp; audio and remux subtitles etc. */
           if (codec_ctx->codec_type == AVMEDIA_TYPE_VIDEO
               || codec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
               /* Open decoder */
               ret = avcodec_open2(codec_ctx,
                                   avcodec_find_decoder(codec_ctx->codec_id), NULL);
               if (ret &lt; 0) {
                   av_log(NULL, AV_LOG_ERROR, "Failed to open decoder for stream #%u\n", i);
                   return ret;
               }
           }
       }

       // Dump information about file onto standard error
       av_dump_format(*ic, 0, filename, 0);

       return 0;
    }



    int main(int argc, char *argv[]) {

       const char *inputFilename1 = "/avfiles/video_input.mp4";
       const char *inputFilename2 = "/avfiles/audio_input.mp4";
       const char *filename = "/avfiles/out.mp4";

       int ret;

       av_register_all();

       AVFormatContext *ic1 = nullptr;
       AVFormatContext *ic2 = nullptr;
       AVFormatContext *oc = nullptr;

       if ((ret = ffmpegOpenInputFile(inputFilename1, &amp;ic1)) &lt; 0)
           return ret;  // and free resources and

       if ((ret = ffmpegOpenInputFile(inputFilename2, &amp;ic2)) &lt; 0)
           return ret;  // and free resources and

       AVOutputFormat *outfmt = av_guess_format(NULL, filename, NULL);
       if (outfmt == NULL)
           return -1;  // Could not guess output format

       avformat_alloc_output_context2(&amp;oc, outfmt, NULL, filename);
       if (!oc)
           return AVERROR_UNKNOWN;  // Could not create output context

       // populate input streams from all input files
       AVStream **input_streams = NULL;
       int nb_input_streams = 0;
       for (int i = 0; i &lt; ic1->nb_streams; i++) {
           input_streams = (AVStream **) grow_array(input_streams, sizeof(*input_streams), &amp;nb_input_streams,
                                                    nb_input_streams + 1);
           input_streams[nb_input_streams - 1] = ic1->streams[i];
       }
       for (int i = 0; i &lt; ic2->nb_streams; i++) {
           input_streams = (AVStream **) grow_array(input_streams, sizeof(*input_streams), &amp;nb_input_streams,
                                                    nb_input_streams + 1);
           input_streams[nb_input_streams - 1] = ic2->streams[i];
       }

       for (int i = 0; i &lt; nb_input_streams; i++) {
           AVStream *ist = input_streams[i];  // could be named 'm_in_vid_strm'

           // if output context has video codec support and current input stream is video
           if (/*oc->video_codec_id*/ oc->oformat->video_codec != AV_CODEC_ID_NONE &amp;&amp; ist != NULL
                                      &amp;&amp; ist->codec->codec_type == AVMEDIA_TYPE_VIDEO) {

               AVCodec *out_vid_codec = avcodec_find_encoder(oc->oformat->video_codec);
               if (NULL == out_vid_codec)
                   return -1;  // Couldn't find video encoder

               AVStream *m_out_vid_strm = avformat_new_stream(oc, out_vid_codec);
               if (NULL == m_out_vid_strm)
                   return -1;  // Couldn't output video stream

               m_out_vid_strm->id = 0;  // XXX:

               ret = avcodec_copy_context(m_out_vid_strm->codec, ist->codec);
               if (ret &lt; 0)
                   return ret;  // Failed to copy context

           }

           // if output context has audio codec support and current input stream is audio
           if (/*oc->audio_codec_id*/ oc->oformat->audio_codec != AV_CODEC_ID_NONE &amp;&amp; ist != NULL
                                      &amp;&amp; ist->codec->codec_type == AVMEDIA_TYPE_AUDIO) {

               AVCodec *out_aud_codec = avcodec_find_encoder(oc->oformat->audio_codec);
               if (nullptr == out_aud_codec)
                   return -1;  // couldn't find audio codec

               AVStream *m_out_aud_strm = avformat_new_stream(oc, out_aud_codec);
               if (nullptr == m_out_aud_strm)
                   return -1;  // couldn't allocate audio out stream

               ret = avcodec_copy_context(m_out_aud_strm->codec, ist->codec);
               if (ret &lt; 0)
                   return ret;  // couldn't copy context

           }
       }

       // finally output header
       if (!(oc->flags &amp; AVFMT_NOFILE)) {

           ret = avio_open(&amp;oc->pb, filename, AVIO_FLAG_WRITE);
           if (ret &lt; 0)
               return ret;  // Could not open output file

           av_dump_format(oc, 0, filename, 1);

           ret = avformat_write_header(oc, NULL);
           if (ret &lt; 0)
               return ret; // Error occurred when opening output file

       }

       return 0;

    }

    avformat_write_header(oc, NULL); always return error and I see this messages :

    [mp4 @ 0x7f84ec900a00] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
    [mp4 @ 0x7f84ec900a00] Tag avc1/0x31637661 incompatible with output codec id '28' ([33][0][0][0])

    But input and output streams match :

    Input streams from 2 files:
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2834 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default)
    Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)

    Output #0, mp4, to '/Users/alex/Workspace/_qt/tubisto/avfiles/out.mp4':
       Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 2834 kb/s, 47.95 tbc
       Stream #0:1: Audio: aac (libvo_aacenc) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s

    Why the error with incompatible output codec happens ?
    What is wrong in my code and how to make it work to copy all streams from all input files to output file ?