Recherche avancée

Médias (91)

Autres articles (77)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

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

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (6524)

  • vp9 : set color range to MPEG for intraonly profile 0

    19 août 2017, par James Zern
    vp9 : set color range to MPEG for intraonly profile 0
    

    this is undocumented in the vp9 bitstream and decoding specification
    doc, but matches libvpx

    Reviewed-by : "Ronald S. Bultje" <rsbultje@gmail.com>
    Signed-off-by : James Zern <jzern@google.com>

    • [DH] libavcodec/vp9.c
  • h264dec : fix Lossless Decoding (Profile 244) for 8x8 Intra Prediction

    15 juin 2017, par Yogender Kumar Gupta
    h264dec : fix Lossless Decoding (Profile 244) for 8x8 Intra Prediction
    

    CC : libav-stable@libav.org

    Signed-off-by : Anton Khirnov <anton@khirnov.net>

    • [DBH] libavcodec/h264_mb.c
    • [DBH] libavcodec/h264pred.c
    • [DBH] libavcodec/h264pred.h
    • [DBH] libavcodec/h264pred_template.c
  • libavformat / Remuxing from mpegts to mp4 generate wrong AAC profile

    13 juillet 2017, par axeo

    I have problem with remuxing MPEG-TS to MP4 via API. AAC profile on the output file changed after remux from LC to default (codecpar->profile equals -1). I even took example from ffmpeg.org, added bitstream filter for removing ADTS headers from AAC, removed deprecated functions but the problem exists too. Video stream with this code totally the same as in input.

    This is my modified code :

    #include <libavutil></libavutil>timestamp.h>
    #include <libavformat></libavformat>avformat.h>


    static void log_packet(const AVFormatContext *fmt_ctx, const AVPacket *pkt, const char *tag)
    {
       AVRational *time_base = &amp;fmt_ctx->streams[pkt->stream_index]->time_base;
       printf("%s: pts:%s pts_time:%s dts:%s dts_time:%s duration:%s duration_time:%s stream_index:%d\n",
              tag,
              av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, time_base),
              av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, time_base),
              av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, time_base),
              pkt->stream_index);
    }
    int main(int argc, char **argv)
    {
       AVOutputFormat *ofmt = NULL;
       AVFormatContext *ifmt_ctx = NULL, *ofmt_ctx = NULL;
       AVPacket pkt;
       const char *in_filename, *out_filename;
       int ret, i;
       if (argc &lt; 3) {
           printf("usage: %s input output\n"
                  "API example program to remux a media file with libavformat and libavcodec.\n"
                  "The output format is guessed according to the file extension.\n"
                  "\n", argv[0]);
           return 1;
       }
       in_filename  = argv[1];
       out_filename = argv[2];
       avformat_network_init();
       av_register_all();
       if ((ret = avformat_open_input(&amp;ifmt_ctx, in_filename, 0, 0)) &lt; 0) {
           fprintf(stderr, "Could not open input file '%s'", in_filename);
           goto end;
       }
       if ((ret = avformat_find_stream_info(ifmt_ctx, 0)) &lt; 0) {
           fprintf(stderr, "Failed to retrieve input stream information");
           goto end;
       }
       av_dump_format(ifmt_ctx, 0, in_filename, 0);
       avformat_alloc_output_context2(&amp;ofmt_ctx, NULL, NULL, out_filename);
       if (!ofmt_ctx) {
           fprintf(stderr, "Could not create output context\n");
           ret = AVERROR_UNKNOWN;
           goto end;
       }
       ofmt = ofmt_ctx->oformat;
       for (i = 0; i &lt; ifmt_ctx->nb_streams; i++) {
           AVStream *in_stream = ifmt_ctx->streams[i];
           AVStream *out_stream = avformat_new_stream(ofmt_ctx, NULL);
           if (!out_stream) {
               fprintf(stderr, "Failed allocating output stream\n");
               ret = AVERROR_UNKNOWN;
               goto end;
           }
           ret = avcodec_parameters_copy(out_stream->codecpar, in_stream->codecpar);
           if (ret &lt; 0) {
               fprintf(stderr, "Failed to copy context from input to output stream codec context\n");
               goto end;
           }
    //        if (ofmt_ctx->oformat->flags &amp; AVFMT_GLOBALHEADER)
    //            out_stream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;

           out_stream->codecpar->codec_tag = 0;
       }
       av_dump_format(ofmt_ctx, 0, out_filename, 1);
       if (!(ofmt->flags &amp; AVFMT_NOFILE)) {
           ret = avio_open(&amp;ofmt_ctx->pb, out_filename, AVIO_FLAG_WRITE);
           if (ret &lt; 0) {
               fprintf(stderr, "Could not open output file '%s'", out_filename);
               goto end;
           }
       }
       ret = avformat_write_header(ofmt_ctx, NULL);
       if (ret &lt; 0) {
           fprintf(stderr, "Error occurred when opening output file\n");
           goto end;
       }
       while (1) {
           AVStream *in_stream, *out_stream;
           ret = av_read_frame(ifmt_ctx, &amp;pkt);
           if (ret &lt; 0)
               break;
           in_stream  = ifmt_ctx->streams[pkt.stream_index];
           out_stream = ofmt_ctx->streams[pkt.stream_index];
    //        log_packet(ifmt_ctx, &amp;pkt, "in");
           /* copy packet */
           pkt.pts = av_rescale_q_rnd(pkt.pts, in_stream->time_base, out_stream->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
           pkt.dts = av_rescale_q_rnd(pkt.dts, in_stream->time_base, out_stream->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
           pkt.duration = av_rescale_q(pkt.duration, in_stream->time_base, out_stream->time_base);
           pkt.pos = -1;
    //        log_packet(ofmt_ctx, &amp;pkt, "out");

           if (in_stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {

               ret = av_interleaved_write_frame(ofmt_ctx, &amp;pkt);
               if (ret &lt; 0) {
                   fprintf(stderr, "Error muxing packet\n");
               }

           } else if (in_stream->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) {

               AVBSFContext *avbsctx;
               AVPacket filtered_packet = {0};

               const AVBitStreamFilter *bsf = av_bsf_get_by_name("aac_adtstoasc");

               av_bsf_alloc(bsf, &amp;avbsctx);
               avcodec_parameters_copy(avbsctx->par_in, in_stream->codecpar);
               av_bsf_init(avbsctx);
               av_bsf_send_packet(avbsctx, &amp;pkt);

               while (1) {
                   ret = av_bsf_receive_packet(avbsctx, &amp;filtered_packet);
                   if (ret &lt; 0) {
                       av_packet_unref(&amp;filtered_packet);
                       break;
                   }
                   ret = av_interleaved_write_frame(ofmt_ctx, &amp;filtered_packet);
                   av_packet_unref(&amp;filtered_packet);
               }
               av_bsf_free(&amp;avbsctx);
           }
           av_packet_unref(&amp;pkt);
       }
       av_write_trailer(ofmt_ctx);
    end:
       avformat_close_input(&amp;ifmt_ctx);
       /* close output */
       if (ofmt_ctx &amp;&amp; !(ofmt->flags &amp; AVFMT_NOFILE))
           avio_close(ofmt_ctx->pb);
       avformat_free_context(ofmt_ctx);
       if (ret &lt; 0 &amp;&amp; ret != AVERROR_EOF) {
           fprintf(stderr, "Error occurred: %s\n", av_err2str(ret));
           return 1;
       }
       return 0;
    }

    If I do the same operation with ffmpeg binary - all is OK. AAC-LC stream stay unchanged in output file.

    ffmpeg -i input.ts -y -bsf:a aac_adtstoasc -acodec copy -vn output.mp4

    What I’m doing wrong ? I tried look at ffmpeg sources, but it is very complicated.

    Thanks.

    P.S.
    I’ve also added this string to example out_stream->codecpar->codec_tag = 0;, otherwise I’m getting error that codec_tag is not compatible with output codec. May be I need to workaround this somehow ?