Recherche avancée

Médias (1)

Mot : - Tags -/bug

Autres articles (13)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

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

Sur d’autres sites (4709)

  • Access violation reading location 0x000000148965F000

    14 février 2014, par user3012914

    I tried to encode BMP Images, which i get from a buffer and store it as a H264 Video. I am stuck with these errors the arrive randomly and repeatedly

    I am using Visual Studio 2012

    1) Access violation reading location 0x000000148965F000.

    2)Heap corruption

    The debug shows the error at this point

       struct SwsContext* fooContext = sws_getContext(_imgWidth,_imgHeight,PIX_FMT_RGB32,c->width,c->height,PIX_FMT_YUV420P, SWS_FAST_BILINEAR,NULL,NULL,NULL);
                       sws_scale(fooContext, inpic->data, inpic->linesize, 0, c->height, outpic->data, outpic->linesize);    // converting frame size and format

    I guess the read violation happens due to non - pre initialized values. But i couldnt exactly understand why. I have also attached part of the code below

    PagedImage *inImg = getUpdatedInputImage(0);
           ML_CHECK(inImg);
           ImageVector imgExt = inImg->getImageExtent();
           if ((imgExt.x == _imgWidth) && (imgExt.y == _imgHeight))
           {
               if (((imgExt.x % 4) == 0) && ((imgExt.y % 4) == 0))
               {
                  _numFramesFld->setIntValue(_numFramesFld->getIntValue() + 1);
                   MLFree(unicodeFilename);
                   // configure header
                   //BITMAPINFO bitmapInfo
                   // read out input image and write output image into video
                   // get input image as an array
                   void* imgData = NULL;
                   SubImageBox imageBox(imgExt); // get the whole image
                   getTile(inImg, imageBox, MLuint8Type, &imgData);
                   MLuint8* iData = (MLuint8*)imgData;
                   // since we have only images with
                   // a z-ext of 1, we can compute the c stride as follows
                   int cStride = _imgWidth * _imgHeight;
                   int offset  = 0;
                   MLuint8 r=0, g=0, b=0;
                   // pointer into the bitmap that is
                   // used to write images into an video
                   UCHAR* dst = (UCHAR*)_bits;
                   for (int y = _imgHeight-1; y >= 0; y--)
                   { // reversely scan the image. if y-rows of DIB are set in normal order, no compression will be available.
                       offset = _imgWidth * y;
                       for (int x = 0; x < _imgWidth; x++)
                       {
                           if (_isGreyValueImage)
                           {
                               r = iData[offset + x];
                               *dst++ = (UCHAR)r;
                               *dst++ = (UCHAR)r;
                               *dst++ = (UCHAR)r;
                           }
                           else
                           {
                               b = iData[offset + x]; // windows bitmap need reverse order: bgr instead of rgb
                               g = iData[offset + x + cStride          ];
                               r = iData[offset + x + cStride + cStride];
                               *dst++ = (UCHAR)r;
                               *dst++ = (UCHAR)g;
                               *dst++ = (UCHAR)b;
                           }
                           // alpha channel in input image is ignored
                       }
                   }
                   outbuf_size = 100000 + c->width*c->height*(32>>3);      // allocate output buffer
                   outbuf = static_cast(malloc(outbuf_size));
                   fileName_ = (_outputFilenameFld->getStringValue()).c_str();
                   FILE* f = fopen(fileName_,"wb");                    // opening video file for writing
                   if(!f)
                   {
                       _messageFld->setStringValue("Cannot open file");
                   }
                   else _messageFld->setStringValue("Opened video file for writing\n");

                   //for(i=0;i<_numFramesFld->getIntValue();i++)
                   //{
                       fflush(stdout);
                       int nbytes = avpicture_get_size(PIX_FMT_YUV420P, c->width, c->height);                                // allocating outbuffer
                       uint8_t* outbuffer = (uint8_t*)av_malloc(nbytes*sizeof(uint8_t));
                       AVFrame* inpic = avcodec_alloc_frame();                                                               // mandatory frame allocation
                       AVFrame* outpic = avcodec_alloc_frame();
                       //outpic->pts = (int64_t)((float)i * (1000.0/((float)(c->time_base.den))) * 90);                        // setting frame pts
                       avpicture_fill((AVPicture*)inpic,(uint8_t*)dst, PIX_FMT_RGB32, c->width, c->height);                            // fill image with input screenshot
                       avpicture_fill((AVPicture*)outpic, outbuffer, PIX_FMT_YUV420P, c->width, c->height);                  // clear output picture for buffer copy
                       av_image_alloc(outpic->data, outpic->linesize, c->width, c->height, c->pix_fmt, 1);

                       inpic->data[0] += inpic->linesize[0]*(c->height-1);                                                   // flipping frame
                       inpic->linesize[0] = -inpic->linesize[0];                                                             // flipping frame

                       struct SwsContext* fooContext = sws_getContext(_imgWidth,_imgHeight,PIX_FMT_RGB32,c->width,c->height,PIX_FMT_YUV420P, SWS_FAST_BILINEAR,NULL,NULL,NULL);
                       sws_scale(fooContext, inpic->data, inpic->linesize, 0, c->height, outpic->data, outpic->linesize);    // converting frame size and format
                       out_size = avcodec_encode_video(c, outbuf, outbuf_size, outpic);                                      // encoding video
                       _messageFld->setStringValue("Encoding frame %3d (size=%5d)\n");
                        fwrite(outbuf, 1, out_size, f);
                        delete [] dst;                                                                                         // freeing memory
                       av_free(outbuffer);    
                       av_free(inpic);
                       av_free(outpic);
                       av_free(fooContext);
                       DeleteObject(_hbitmap);

                       for(int Z = 0; Z/ encode the delayed frames
                           fwrite(outbuf, 1, out_size, f);
                       }
                       //outbuf[0] = 0x00;
                       //outbuf[1] = 0x00;                                                                                               // add sequence end code to have a real mpeg file
                       //outbuf[2] = 0x01;
                       //outbuf[3] = 0xb7;
                       //fwrite(outbuf, 1, 4, f);
                       fclose(f);
                       avcodec_close(c);                                                                                               // freeing memory
                       free(outbuf);
                       av_free(c);
                       printf("Closed codec and Freed\n");
                   }
               }
  • Change ffmpeg output directory

    6 mai 2019, par Filip

    Im using ffmpeg to compress footage and i want to compess the footage of a specific day but when i overwrite the files it outputs a empty stream because it writes as it reads at the same time so i want to rename the output file. Find will give the full path which is necessary but i don’t know how to change the actual file name, rather than the path.

    Any suggestions ?

    find /home/server/recordings/compress -name '*.mp4' -print0 | xargs -0 -I{} ffmpeg -i {}  -c:v libx265 -preset fast -crf 25 -x265-params "vbv-maxrate=1500:vbv-bufsize=1000" -c:a aac {}
  • FFMPEG extracting 1 second resized with copy codec

    28 avril 2019, par boblapointe

    How can I extract 1 second ( using fast seek ) from a video, resize it, using vp9 ? I always get the same errors. Here are the bare bone commands I’m trying :

    ffmpeg -ss 00:00:10 -i test.webm -to 00:00:01 -filter:v "scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease" -c:v libvpx-vp9 -y output.webm

    It returns :

    "Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

    After playing around I realize that this will work :

    ffmpeg -ss 00:00:10 -i test.webm -to 00:00:01 -c copy -y output.webm

    Not ideal but at least it works, so I add the filter :

    ffmpeg -ss 00:00:10 -i test.webm -to 00:00:01 -filter:v "scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease" -c copy -y output.webm

    Ant then I get :

    "Filtering and streamcopy cannot be used together."

    I’ve tried all kinds of combinations, unsuccessfully. Any hint would be appreciated. Thank you


    Here is the full log of the first command :

        ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
          built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
          configuration : —prefix=/usr —extra-version=0ubuntu0.18.04.1 —toolchain=hardened —libdir=/usr/lib/x86_64-linux-gnu —incdir=/usr/include/x86_64-linux-gnu —enable-gpl —disable-stripping —enable-avresample —enable-avisynth —enable-gnutls —enable-ladspa —enable-libass —enable-libbluray —enable-libbs2b —enable-libcaca —enable-libcdio —enable-libflite —enable-libfontconfig —enable-libfreetype —enable-libfribidi —enable-libgme —enable-libgsm —enable-libmp3lame —enable-libmysofa —enable-libopenjpeg —enable-libopenmpt —enable-libopus —enable-libpulse —enable-librubberband —enable-librsvg —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libspeex —enable-libssh —enable-libtheora —enable-libtwolame —enable-libvorbis —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx265 —enable-libxml2 —enable-libxvid —enable-libzmq —enable-libzvbi —enable-omx —enable-openal —enable-opengl —enable-sdl2 —enable-libdc1394 —enable-libdrm —enable-libiec61883 —enable-chromaprint —enable-frei0r —enable-libopencv —enable-libx264 —enable-shared
          libavutil      55. 78.100 / 55. 78.100
          libavcodec     57.107.100 / 57.107.100
          libavformat    57. 83.100 / 57. 83.100
          libavdevice    57. 10.100 / 57. 10.100
          libavfilter     6.107.100 /  6.107.100
          libavresample   3.  7.  0 /  3.  7.  0
          libswscale      4.  8.100 /  4.  8.100
          libswresample   2.  9.100 /  2.  9.100
          libpostproc    54.  7.100 / 54.  7.100
        Splitting the commandline.
        Reading option ’-ss’ ... matched as option ’ss’ (set the start time offset) with argument ’00:00:10’.
        Reading option ’-i’ ... matched as input url with argument ’test.webm’.
        Reading option ’-to’ ... matched as option ’to’ (record or transcode stop time) with argument ’00:00:01’.
        Reading option ’-filter:v’ ... matched as option ’filter’ (set stream filtergraph) with argument ’scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease’.
        Reading option ’-c:v’ ... matched as option ’c’ (codec name) with argument ’libvpx-vp9’.
        Reading option ’-y’ ... matched as option ’y’ (overwrite output files) with argument ’1’.
        Reading option ’-v’ ... matched as option ’v’ (set logging level) with argument ’debug’.
        Reading option ’output.webm’ ... matched as output url.
        Finished splitting the commandline.
        Parsing a group of options : global .
        Applying option y (overwrite output files) with argument 1.
        Applying option v (set logging level) with argument debug.
        Successfully parsed a group of options.
        Parsing a group of options : input url test.webm.
        Applying option ss (set the start time offset) with argument 00:00:10.
        Successfully parsed a group of options.
        Opening an input file : test.webm.
        [NULL @ 0x55ce679f8920] Opening ’test.webm’ for reading
        [file @ 0x55ce679f9340] Setting default whitelist ’file,crypto’
        [matroska,webm @ 0x55ce679f8920] Format matroska,webm probed with size=2048 and score=100
        st:0 removing common factor 1000000 from timebase
        [matroska,webm @ 0x55ce679f8920] Before avformat_find_stream_info() pos : 566 bytes read:32768 seeks:0 nb_streams:1
        [matroska,webm @ 0x55ce679f8920] All info found
        [matroska,webm @ 0x55ce679f8920] After avformat_find_stream_info() pos : 72449 bytes read:72449 seeks:0 frames:1
        Input #0, matroska,webm, from ’test.webm’ :
          Metadata :
            ENCODER : Lavf57.83.100
          Duration : 00:00:15.03, start : 5.016000, bitrate : 1146 kb/s
            Stream #0:0(eng), 1, 1/1000 : Video : vp9 (Profile 0), 1 reference frame, yuv420p(tv), 1280x720, 0/1, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
            Metadata :
              DURATION : 00:00:15.025000000
        Successfully opened the file.
        Parsing a group of options : output url output.webm.
        Applying option to (record or transcode stop time) with argument 00:00:01.
        Applying option filter:v (set stream filtergraph) with argument scale=min(iw\,1280):min(ih\,720):force_original_aspect_ratio=decrease.
        Applying option c:v (codec name) with argument libvpx-vp9.
        Successfully parsed a group of options.
        Opening an output file : output.webm.
        [file @ 0x55ce67b1e820] Setting default whitelist ’file,crypto’
        Successfully opened the file.
        detected 8 logical cores
        Stream mapping :
          Stream #0:0 -> #0:0 (vp9 (native) -> vp9 (libvpx-vp9))
        Press [q] to stop, [?] for help
        cur_dts is invalid (this is harmless if it occurs once at the start per stream)
            Last message repeated 1 times
        [matroska,webm @ 0x55ce679f8920] first_dts 5016 not matching first dts 10395 (pts 10395, duration 41) in the queue
        cur_dts is invalid (this is harmless if it occurs once at the start per stream)
            Last message repeated 6 times
        [Parsed_scale_0 @ 0x55ce67a7c520] Setting ’w’ to value ’min(iw,1280)’
        [Parsed_scale_0 @ 0x55ce67a7c520] Setting ’h’ to value ’min(ih,720)’
        [Parsed_scale_0 @ 0x55ce67a7c520] Setting ’force_original_aspect_ratio’ to value ’decrease’
        [Parsed_scale_0 @ 0x55ce67a7c520] Setting ’flags’ to value ’bicubic’
        [Parsed_scale_0 @ 0x55ce67a7c520] w:min(iw,1280) h:min(ih,720) flags :’bicubic’ interl:0
        [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’video_size’ to value ’1280x720’
        [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’pix_fmt’ to value ’0’
        [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’time_base’ to value ’1/1000’
        [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’pixel_aspect’ to value ’1/1’
        [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’sws_param’ to value ’flags=2’
        [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] Setting ’frame_rate’ to value ’24000/1001’
        [graph 0 input from stream 0:0 @ 0x55ce67a7cea0] w:1280 h:720 pixfmt:yuv420p tb:1/1000 fr:24000/1001 sar:1/1 sws_param:flags=2
        [format @ 0x55ce67ad7d60] compat : called with args=[yuv420p|yuva420p|yuv422p|yuv440p|yuv444p|gbrp]
        [format @ 0x55ce67ad7d60] Setting ’pix_fmts’ to value ’yuv420p|yuva420p|yuv422p|yuv440p|yuv444p|gbrp’
        [AVFilterGraph @ 0x55ce67aec740] query_formats : 6 queried, 5 merged, 0 already done, 0 delayed
        [Parsed_scale_0 @ 0x55ce67a7c520] w:1280 h:720 fmt:yuv420p sar:1/1 -> w:1280 h:720 fmt:yuv420p sar:1/1 flags:0x4
        [libvpx-vp9 @ 0x55ce67b32200] v1.7.0
        [libvpx-vp9 @ 0x55ce67b32200] —prefix=/usr —enable-pic —enable-shared —disable-install-bins —disable-install-srcs —size-limit=16384x16384 —enable-postproc —enable-multi-res-encoding —enable-temporal-denoising —enable-vp9-temporal-denoising —enable-vp9-postproc —target=x86_64-linux-gcc
        [libvpx-vp9 @ 0x55ce67b32200] vpx_codec_enc_cfg
        [libvpx-vp9 @ 0x55ce67b32200] generic settings
          g_usage :                      0
          g_threads :                    8
          g_profile :                    0
          g_w :                          320
          g_h :                          240
          g_bit_depth :                  8
          g_input_bit_depth :            8
          g_timebase :                   1/30
          g_error_resilient :            0
          g_pass :                       0
          g_lag_in_frames :              25
        [libvpx-vp9 @ 0x55ce67b32200] rate control settings
          rc_dropframe_thresh :          0
          rc_resize_allowed :            0
          rc_resize_up_thresh :          60
          rc_resize_down_thresh :        30
          rc_end_usage :                 0
          rc_twopass_stats_in :          (nil)(0)
          rc_target_bitrate :            256
        [libvpx-vp9 @ 0x55ce67b32200] quantizer settings
          rc_min_quantizer :             0
          rc_max_quantizer :             63
        [libvpx-vp9 @ 0x55ce67b32200] bitrate tolerance
          rc_undershoot_pct :            25
          rc_overshoot_pct :             25
        [libvpx-vp9 @ 0x55ce67b32200] decoder buffer model
          rc_buf_sz :                    6000
          rc_buf_initial_sz :            4000
          rc_buf_optimal_sz :            5000
        [libvpx-vp9 @ 0x55ce67b32200] 2 pass rate control settings
          rc_2pass_vbr_bias_pct :        50
          rc_2pass_vbr_minsection_pct :  0
          rc_2pass_vbr_maxsection_pct :  2000
        [libvpx-vp9 @ 0x55ce67b32200] keyframing settings
          kf_mode :                      1
          kf_min_dist :                  0
          kf_max_dist :                  128
        [libvpx-vp9 @ 0x55ce67b32200]
        [libvpx-vp9 @ 0x55ce67b32200] vpx_codec_enc_cfg
        [libvpx-vp9 @ 0x55ce67b32200] generic settings
          g_usage :                      0
          g_threads :                    0
          g_profile :                    0
          g_w :                          1280
          g_h :                          720
          g_bit_depth :                  8
          g_input_bit_depth :            8
          g_timebase :                   1001/24000
          g_error_resilient :            0
          g_pass :                       0
          g_lag_in_frames :              25
        [libvpx-vp9 @ 0x55ce67b32200] rate control settings
          rc_dropframe_thresh :          0
          rc_resize_allowed :            0
          rc_resize_up_thresh :          60
          rc_resize_down_thresh :        30
          rc_end_usage :                 0
          rc_twopass_stats_in :          (nil)(0)
          rc_target_bitrate :            200
        [libvpx-vp9 @ 0x55ce67b32200] quantizer settings
          rc_min_quantizer :             0
          rc_max_quantizer :             63
        [libvpx-vp9 @ 0x55ce67b32200] bitrate tolerance
          rc_undershoot_pct :            25
          rc_overshoot_pct :             25
        [libvpx-vp9 @ 0x55ce67b32200] decoder buffer model
          rc_buf_sz :                    6000
          rc_buf_initial_sz :            4000
          rc_buf_optimal_sz :            5000
        [libvpx-vp9 @ 0x55ce67b32200] 2 pass rate control settings
          rc_2pass_vbr_bias_pct :        50
          rc_2pass_vbr_minsection_pct :  0
          rc_2pass_vbr_maxsection_pct :  2000
        [libvpx-vp9 @ 0x55ce67b32200] keyframing settings
          kf_mode :                      1
          kf_min_dist :                  0
          kf_max_dist :                  128
        [libvpx-vp9 @ 0x55ce67b32200]
        [libvpx-vp9 @ 0x55ce67b32200] vpx_codec_control
        [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_CPUUSED :             1
        [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_ARNR_MAXFRAMES :      0
        [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_ARNR_STRENGTH :       3
        [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_ARNR_TYPE :           3
        [libvpx-vp9 @ 0x55ce67b32200]   VP8E_SET_STATIC_THRESHOLD :    0
        [libvpx-vp9 @ 0x55ce67b32200]   VP9E_SET_COLOR_SPACE :         0
        [libvpx-vp9 @ 0x55ce67b32200]   VP9E_SET_COLOR_RANGE :         0
        [libvpx-vp9 @ 0x55ce67b32200]   VP9E_SET_TARGET_LEVEL :        255
        [libvpx-vp9 @ 0x55ce67b32200] Using deadline : 1000000
        Output #0, webm, to ’output.webm’ :
          Metadata :
            encoder : Lavf57.83.100
            Stream #0:0(eng), 0, 1/1000 : Video : vp9 (libvpx-vp9), 1 reference frame, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 0/1, q=-1—1, 200 kb/s, 23.98 fps, 1k tbn, 23.98 tbc (default)
            Metadata :
              DURATION : 00:00:15.025000000
              encoder : Lavc57.107.100 libvpx-vp9
            Side data :
              cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay : -1
        cur_dts is invalid (this is harmless if it occurs once at the start per stream)
            Last message repeated 120 times
        [out_0_0 @ 0x55ce67ac35a0] EOF on sink link out_0_0:default.
        No more output streams to write to, finishing.
        [webm @ 0x55ce67b2e2a0] get_metadata_duration returned : 15025000
        [webm @ 0x55ce67b2e2a0] Write early duration from recording time = 1000
        [webm @ 0x55ce67b2e2a0] end duration = 0
        [webm @ 0x55ce67b2e2a0] stream 0 end duration = 0
        frame=    0 fps=0.0 q=0.0 Lsize=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
        video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : unknown
        Input file #0 (test.webm) :
          Input stream #0:0 (video) : 120 packets read (1031599 bytes) ; 112 frames decoded ;
          Total : 120 packets (1031599 bytes) demuxed
        Output file #0 (output.webm) :
          Output stream #0:0 (video) : 0 frames encoded ; 0 packets muxed (0 bytes) ;
          Total : 0 packets (0 bytes) muxed
        Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
        112 frames successfully decoded, 0 decoding errors
        [AVIOContext @ 0x55ce67b2e9a0] Statistics : 13 seeks, 9 writeouts
        [AVIOContext @ 0x55ce67a01660] Statistics : 2137508 bytes read, 4 seeks