
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (13)
-
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP 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, parTalk 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, parUnlike 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 user3012914I 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 formatI 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 FilipIm 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 boblapointeHow 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