Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (41)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

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

  • Death of A Micro Center

    21 septembre 2012, par Multimedia Mike — History

    The Micro Center computer store located in Santa Clara, CA, USA closed recently :



    I liked Micro Center. I have liked Micro Center ever since I first visited their Denver, CO location 10 years ago. I would sometimes drive an hour in each direction just to visit that shop. I was excited to see that they had a location in the Bay Area when I moved here a few years ago (despite the preponderance of Fry’s stores).

    Now this location is gone. I wonder how much of the “we couldn’t come to favorable terms on a lease” was true (vs. an excuse to close a retail store at a time when more business is moving online, particularly in the heart of Silicon Valley). But that’s not what I wanted to discuss. I came here to discuss…

    The Micro Center Window Logos

    The craziest part about shopping the Santa Clara Micro Center location was the logos they displayed on the window outside. Every time I saw it, it made me sentimental for a time when some of these logos were current, or when some of these companies were still in business. Some of the logos on their front window were for companies I’ve never heard of. It reminds me of the nearby 7-11 convenience stores when I was growing up– their walls were decorated with people sporting embarrassingly 1970s styles long after the 1970s had transpired.

    I thought I would record what those front window logos were and try to pinpoint when the store launched exactly (assuming the logos have been their since the initial opening and never changed).



    Click for larger image

    Here we have Lotus, Hewlett Packard/HP, Corel, Fuji, Power Macintosh, NEC, and Fujitsu. Lotus was purchased by IBM in 1995 and still seems to be maintained as a separate brand. The Power Macintosh was introduced as a brand in 1994. Corel’s logo has seen a few mutations over the years but I don’t know when this one fell out of favor.

    Fuji (vs. Fujitsu) appears to refer to Fujifilm, though this logo is also obsolete.



    Click for larger image

    Hayes– I specifically remember reading the Slashdot post accouncing that Hayes is dead (followed by many comments reminiscing about the Hayes command set). Here is the post, from early 1999.

    From Googling, it doesn’t appear IBM still has a presence in the consumer computing space (though they do have something pertaining to software for consumer products). Then there’s the good old rainbow Apple logo, something that went away in 1997. I suspect 1997 was also the last hurrah of the name ‘Macintosh’ (though I remember mistakenly referring to Apple computer products as Macintoshes well into the mid-2000s and inadvertently angering some Apple enthusiasts).



    Click for larger image

    As for the next segment, obviously, both Sony and Toshiba are still very much alive. Iomega was acquired by EMC in 2008 but is still maintained as a separate brand. USRobotics is still around and making — what else ? — 56K modems (and their current logo is slightly different than the one seen here).

    Targus seems to be a case maker (“Leading Provider of Cases, Bags and Accessories for Laptops and Tablets”). I wonder if that’s just their current business or if they had more areas long ago ? It seems strange that they would get brand billing like this.

    Finally, searching for information about Practical Peripherals only produces sites about how they’re long dead (like this history lesson). It’s unclear when they died.

    The interior of this store was also decorated with more technology company logos near the ceiling (I didn’t really register that fact until I had visited many times). Regrettably, I now won’t be able to see how up to date those logos were.

    Based on the data points above, it’s safe to conclude that the store opened between 1995 or 1996 (again, assuming the logos were placed at opening and never changed).

    Epilogue

    Here’s one more curious item still visible from the outside :



    “See the world’s fastest PC !” Featuring an Intel Core 2 Extreme ? That CPU dates back to 2007 and was succeeded by Nehalem in late 2008. So even that sign, which is presumably easier and cleaner to replace than the window logos, was absurdly out of date.

  • h264 error while decoding

    23 février 2015, par Ozan Emre Yapıcı

    I wanna get frames from my ip camera but same errors occured. I read some web page about that error but i couldnt solve the problem. I am using visual C++ 2010

    Code :

    cv::VideoCapture capture("rtsp://192.168.0.18:554/ucast/11");

     if (!capture.isOpened()) return 1;

     double width = capture.get(CV_CAP_PROP_FRAME_WIDTH);  
     double height = capture.get(CV_CAP_PROP_FRAME_HEIGHT);

     cv::namedWindow("showRTSP", CV_WINDOW_AUTOSIZE);

     while (true) {

       cv::Mat frame;
       if (!capture.read(frame)) break;
       cv::imshow("showRTSP", frame);
       if (cv::waitKey(30) == 27) break;
     }

    Errors : [h264 @ 00000000030afaa0] error while decoding MB 59 10

    thanks...

  • How to set up ffmpeg options for HLS ?

    19 février 2015, par user1816574

    I have a streaming device that streams mpegts video and audio. I am trying to capture those streams and save them multiple .ts file using HLS of ffmpeg.

    So, I have been successful in capturing and saving the streams in a single .ts file. It seems like when I send the output file to be .m3u8, ffmpeg automatically chooses hls demuxer. But, doing so I get a floating point exception.
    Here is my simple code...

    static int ipcam_streaming_main_configure_input_parameters(const char *p_ifilename, AVFormatContext **ppx_ifmt_ctx)

    {
      AVStream *px_istream          = NULL;
      AVCodecContext *px_icodec_ctx = NULL;
      int ret                       = -1;
      unsigned int i                = 0;
      enum AVCodecID input_codec_id = AV_CODEC_ID_NONE;
      AVCodec *p_decoder            = NULL;


      if (avformat_open_input(ppx_ifmt_ctx, p_ifilename, NULL, NULL) < 0)

      {
         printf("%s(): avformat_open_input() failed\n", __FUNCTION__);

      }
      else if (avformat_find_stream_info(*ppx_ifmt_ctx, NULL) < 0)
      {
         printf("%s(): avformat_find_stream_info() failed\n", __FUNCTION__);
      }
      else
      {
         /* find the input streams to be remuxed */
         for (i = 0; i < (*ppx_ifmt_ctx)->nb_streams; i++)
         {
            /* get the stream, codec context for the stream */
            px_istream = (*ppx_ifmt_ctx)->streams[i];
            px_icodec_ctx = px_istream->codec;

            if ((AVMEDIA_TYPE_VIDEO == px_icodec_ctx->codec_type)
                || (AVMEDIA_TYPE_AUDIO == px_icodec_ctx->codec_type))
            {
               /* get the codec_id for the audio/video stream */
               input_codec_id = px_icodec_ctx->codec_id;

               /* get the decoder for the input codec id */
               p_decoder = avcodec_find_decoder(px_icodec_ctx->codec_id);

               /* Open decoder for the input codec audio/video */
               ret = avcodec_open2(px_icodec_ctx,
                                   p_decoder,
                                   NULL);
               if (ret < 0)
               {
                  printf("%s(): avcodec_open2() failed\n", __FUNCTION__);
               }
               else
               {
                  printf("Input stream type <%d> with codec_id <%d> found and decoder opened\n", px_icodec_ctx->codec_type, input_codec_id);
               }
            }
         }
      }

      /* dump the data into stdout */
      av_dump_format(*ppx_ifmt_ctx, 0, p_ifilename, 0);

      return ret;
    }

    static int ipcam_streaming_main_configure_output_parameters(const char *p_ofilename,
                                                               AVFormatContext *px_ifmt_ctx,
                                                               AVFormatContext **ppx_ofmt_ctx)
    {
      AVStream *px_ostream       = NULL;
      AVStream *px_istream       = NULL;
      AVCodecContext *px_dec_ctx = NULL;
      AVCodecContext *px_enc_ctx = NULL;
      int ret                    = -1;
      unsigned int i             = 0;

      if ((NULL == p_ofilename) || (NULL == px_ifmt_ctx) || (NULL == ppx_ofmt_ctx))
      {
         printf("%s(): NULL arg(s) <%p, %p, %p>", __FUNCTION__, p_ofilename, px_ifmt_ctx, ppx_ofmt_ctx);
         return -1;
      }

      /* remove the output file if already exists */
      remove(p_ofilename);

      /* allocate the output format context */
      if (avformat_alloc_output_context2(ppx_ofmt_ctx, NULL, NULL, p_ofilename) < 0)
      {
         printf("%s(): avformat_alloc_output_context2() failed\n", __FUNCTION__);
      }
      else
      {
         for (i = 0; i < px_ifmt_ctx->nb_streams; i++)
         {
            if ((AVMEDIA_TYPE_VIDEO == px_ifmt_ctx->streams[i]->codec->codec_type)
                || (AVMEDIA_TYPE_AUDIO == px_ifmt_ctx->streams[i]->codec->codec_type))
            {
               printf("Stream <%d> is type <%d>: Adding to output stream\n", i, px_ifmt_ctx->streams[i]->codec->codec_type);

               /* create a new output stream */
               px_ostream = avformat_new_stream(*ppx_ofmt_ctx, NULL);
               if (NULL == px_ostream)
               {
                  printf("%s(): avformat_new_stream() failed\n", __FUNCTION__);
               }
               else
               {
                  px_istream = px_ifmt_ctx->streams[i];
                  px_dec_ctx = px_istream->codec;
                  px_enc_ctx = px_ostream->codec;

                  /* Since, we do not need to encode the video stream, it is just remuxing
                     just copying the input codec context to output is sufficient */
                  ret = avcodec_copy_context((*ppx_ofmt_ctx)->streams[i]->codec,
                                             px_ifmt_ctx->streams[i]->codec);

                  if ((*ppx_ofmt_ctx)->oformat->flags & AVFMT_GLOBALHEADER)
                  {
                     px_enc_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
                  }
               }
            }
            else
            {
               printf("Stream <%d> is Unknown: Ignore it \n", i);
            }
         }

         /* dump the output media file into stdout */
         av_dump_format(*ppx_ofmt_ctx, 0, p_ofilename, 1);

         if (0 == ((*ppx_ofmt_ctx)->oformat->flags & AVFMT_NOFILE))
         {
            /* open the output media file so that we can write the data into it */
            ret = avio_open(&(*ppx_ofmt_ctx)->pb, p_ofilename, AVIO_FLAG_WRITE);
            if (ret < 0)
            {
               printf("%s(): avio_open() failed\n", __FUNCTION__);
            }
            else
            {
               /* init muxer, write output file header */
               ret = avformat_write_header((*ppx_ofmt_ctx), NULL);
               if (ret < 0)
               {
                  printf("%s(): avformat_write_header() failed\n", __FUNCTION__);
               }
            }
         }
      }

      return ret;
    }


    int main(int argnum, char **argv)
    {
      AVFormatContext *px_ifmt_ctx = NULL;
      AVFormatContext *px_ofmt_ctx = NULL;
      AVPacket packet              = {0};
      enum AVMediaType type        = AVMEDIA_TYPE_UNKNOWN;
      unsigned int stream_index    = -1;
      unsigned int i               = 0;
      int ret                      = -1;

      if (argnum != 3)
      {
         printf("Please enough number of parameters\n");
         return -1;
      }

      /* register all the services requred */
      av_register_all();
      avformat_network_init();

      if (0 != ipcam_streaming_main_configure_input_parameters(argv[1],
                                                               &px_ifmt_ctx))
      {
         printf("%s(): ipcam_streaming_main_configure_iput_parameters() failed\n", __FUNCTION__);
      }
      else if (0 != ipcam_streaming_main_configure_output_parameters(argv[2],
                                                                     px_ifmt_ctx,
                                                                     &px_ofmt_ctx))
      {
         printf("%s(): ipcam_streaming_main_configure_output_parameters() failed\n", __FUNCTION__);
      }
      else
      {
         printf("Input and output configuration done successfully: Now reading packets\n");
         while (true)
         {
            if ((ret = av_read_frame(px_ifmt_ctx, &packet)) < 0)
            {
               printf("av_read_frame() failed with error <%d>: Exit\n", ret);
               break;
            }

            /* get the stream index and codec type of the packet read */
            stream_index = packet.stream_index;
            type = px_ifmt_ctx->streams[stream_index]->codec->codec_type;

            /* remux only if the type is video, otherwise ignore it */
            if ((AVMEDIA_TYPE_VIDEO == type)
                || (AVMEDIA_TYPE_AUDIO == type))
            {
               printf("Remuxing the stream type <%d>, frame with stream index <%d>\n", type, stream_index);

               /* remux this frame without reencoding */
               packet.dts = av_rescale_q_rnd(packet.dts,
                                             px_ifmt_ctx->streams[stream_index]->time_base,
                                             px_ofmt_ctx->streams[stream_index]->time_base,
                                             AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX);

               packet.pts = av_rescale_q_rnd(packet.pts,
                                             px_ifmt_ctx->streams[stream_index]->time_base,
                                             px_ofmt_ctx->streams[stream_index]->time_base,
                                             AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX);

               /* write the frame into the output media file */
               ret = av_write_frame(px_ofmt_ctx, &packet);

               if (ret < 0)
               {
                  printf("Ignoring video packet stream index <%d>\n", packet.stream_index);
               }

               /* free the packet for next use */
               av_free_packet(&packet);
            }
            else
            {
               printf("Ignoring stream index <%d>, type <%d>\n", packet.stream_index, type);
            }
         }
      }

      /* write the trailer */
      av_write_trailer(px_ofmt_ctx);

      av_free_packet(&packet);

      for (i = 0; i < px_ifmt_ctx->nb_streams; i++)
      {
         /* close the input codec that has been opened */
         avcodec_close(px_ifmt_ctx->streams[i]->codec);

         if ((NULL != px_ofmt_ctx) && (px_ofmt_ctx->nb_streams > i) &&
             (NULL != px_ofmt_ctx->streams[i]) && ( NULL != px_ofmt_ctx->streams[i]->codec))
         {
            /* close the output code */
            avcodec_close(px_ofmt_ctx->streams[i]->codec);
         }
      }

      /* close the input */
      avformat_close_input(&px_ifmt_ctx);

      if ((NULL != px_ofmt_ctx) && (0 == (px_ofmt_ctx->oformat->flags & AVFMT_NOFILE)))
      {
         /* close the output context */
         avio_close(px_ofmt_ctx->pb);
      }

      /* free the output context */
      avformat_free_context(px_ofmt_ctx);

      return ret;
    }

    So, If i pass the output filename to be .m3u8 file, it gives a floating point exception.