
Recherche avancée
Autres articles (36)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...)
Sur d’autres sites (3929)
-
FFMPEG "Error setting GOP size" when converting from mp4 to ogg
25 avril 2014, par gCardinalI built a little internal website to upload and convert videos using Symfony2, PHP-FFMPEG (via this bundle : https://github.com/pulse00/ffmpeg-bundle). It worked fine on my dev machine, a PC, but it refuses to work on my prod machine, a ubuntu server, outputting "[libtheora @ 0x17f7380] Error setting GOP size" whenever I run the command.
Here is said command :
ffmpeg -y -i url/to/input.mp4 -vcodec libtheora -acodec libvorbis -b:v 1000k -refs 6 -coder 1 -sc_threshold 40 -g 30 -flags +loop -me_range 16 -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -trellis 1 -b:a 128k url/to/output.ogg
This is generated by PHP-FFMPEG so I don’t really have any control over it.
I’ll admit that I don’t really understand ffmpeg, so my knowledge is limited, but I don’t see any -g parameter where it could be trying to set the GOP size and anyways, I’m guessing, if it worked on my dev, it should also work on the prod machine, right ?
I figured I should maybe include an output of both ffmpeg versions : http://i.imgur.com/ec4MnKl.png
I don’t feel like this is the source of the problem, but like I said, I know little about ffmpeg so it could be !
Thanks a lot to anyone reading this and even more to those taking the time to answer :)
Edit : I tried running the most basic command I could
ffmpeg -i foo.mp4 foo.ogg
And it outputs the same error. Again, with my limited knowledge, I’m starting to think my install of ffmpeg just can’t handle the ogg format. I’ll keep digging.
-
avformat/md5enc : add format, version and column headers
20 octobre 2013, par Michael Niedermayeravformat/md5enc : add format, version and column headers
See Ticket2280
Signed-off-by : Michael Niedermayer <michaelni@gmx.at>
- [DH] libavformat/md5enc.c
- [DH] tests/ref/fate/h264-crop-to-container
- [DH] tests/ref/fate/h264-extreme-plane-pred
- [DH] tests/ref/fate/utvideoenc_rgb_left
- [DH] tests/ref/fate/utvideoenc_rgb_median
- [DH] tests/ref/fate/utvideoenc_rgb_none
- [DH] tests/ref/fate/utvideoenc_rgba_left
- [DH] tests/ref/fate/utvideoenc_rgba_median
- [DH] tests/ref/fate/utvideoenc_rgba_none
- [DH] tests/ref/fate/utvideoenc_yuv420_left
- [DH] tests/ref/fate/utvideoenc_yuv420_median
- [DH] tests/ref/fate/utvideoenc_yuv420_none
- [DH] tests/ref/fate/utvideoenc_yuv422_left
- [DH] tests/ref/fate/utvideoenc_yuv422_median
- [DH] tests/ref/fate/utvideoenc_yuv422_none
- [DH] tests/ref/fate/vp8-sign-bias
- [DH] tests/ref/fate/vp8-size-change
- [DH] tests/ref/fate/vp8-test-vector-001
- [DH] tests/ref/fate/vp8-test-vector-002
- [DH] tests/ref/fate/vp8-test-vector-003
- [DH] tests/ref/fate/vp8-test-vector-004
- [DH] tests/ref/fate/vp8-test-vector-005
- [DH] tests/ref/fate/vp8-test-vector-006
- [DH] tests/ref/fate/vp8-test-vector-007
- [DH] tests/ref/fate/vp8-test-vector-008
- [DH] tests/ref/fate/vp8-test-vector-009
- [DH] tests/ref/fate/vp8-test-vector-010
- [DH] tests/ref/fate/vp8-test-vector-011
- [DH] tests/ref/fate/vp8-test-vector-012
- [DH] tests/ref/fate/vp8-test-vector-013
- [DH] tests/ref/fate/vp8-test-vector-014
- [DH] tests/ref/fate/vp8-test-vector-015
- [DH] tests/ref/fate/vp8-test-vector-016
- [DH] tests/ref/fate/vp8-test-vector-017
- [DH] tests/ref/fate/vp9-00-quantizer-00
- [DH] tests/ref/fate/vp9-00-quantizer-01
- [DH] tests/ref/fate/vp9-00-quantizer-02
- [DH] tests/ref/fate/vp9-00-quantizer-03
- [DH] tests/ref/fate/vp9-00-quantizer-04
- [DH] tests/ref/fate/vp9-00-quantizer-05
- [DH] tests/ref/fate/vp9-00-quantizer-06
- [DH] tests/ref/fate/vp9-00-quantizer-07
- [DH] tests/ref/fate/vp9-00-quantizer-08
- [DH] tests/ref/fate/vp9-00-quantizer-09
- [DH] tests/ref/fate/vp9-00-quantizer-10
- [DH] tests/ref/fate/vp9-00-quantizer-11
- [DH] tests/ref/fate/vp9-00-quantizer-12
- [DH] tests/ref/fate/vp9-00-quantizer-13
- [DH] tests/ref/fate/vp9-00-quantizer-14
- [DH] tests/ref/fate/vp9-00-quantizer-15
- [DH] tests/ref/fate/vp9-00-quantizer-16
- [DH] tests/ref/fate/vp9-00-quantizer-17
- [DH] tests/ref/fate/vp9-00-quantizer-18
- [DH] tests/ref/fate/vp9-00-quantizer-19
- [DH] tests/ref/fate/vp9-00-quantizer-20
- [DH] tests/ref/fate/vp9-00-quantizer-21
- [DH] tests/ref/fate/vp9-00-quantizer-22
- [DH] tests/ref/fate/vp9-00-quantizer-23
- [DH] tests/ref/fate/vp9-00-quantizer-24
- [DH] tests/ref/fate/vp9-00-quantizer-25
- [DH] tests/ref/fate/vp9-00-quantizer-26
- [DH] tests/ref/fate/vp9-00-quantizer-27
- [DH] tests/ref/fate/vp9-00-quantizer-28
- [DH] tests/ref/fate/vp9-00-quantizer-29
- [DH] tests/ref/fate/vp9-00-quantizer-30
- [DH] tests/ref/fate/vp9-00-quantizer-31
- [DH] tests/ref/fate/vp9-00-quantizer-32
- [DH] tests/ref/fate/vp9-00-quantizer-33
- [DH] tests/ref/fate/vp9-00-quantizer-34
- [DH] tests/ref/fate/vp9-00-quantizer-35
- [DH] tests/ref/fate/vp9-00-quantizer-36
- [DH] tests/ref/fate/vp9-00-quantizer-37
- [DH] tests/ref/fate/vp9-00-quantizer-38
- [DH] tests/ref/fate/vp9-00-quantizer-39
- [DH] tests/ref/fate/vp9-00-quantizer-40
- [DH] tests/ref/fate/vp9-00-quantizer-41
- [DH] tests/ref/fate/vp9-00-quantizer-42
- [DH] tests/ref/fate/vp9-00-quantizer-43
- [DH] tests/ref/fate/vp9-00-quantizer-44
- [DH] tests/ref/fate/vp9-00-quantizer-45
- [DH] tests/ref/fate/vp9-00-quantizer-46
- [DH] tests/ref/fate/vp9-00-quantizer-47
- [DH] tests/ref/fate/vp9-00-quantizer-48
- [DH] tests/ref/fate/vp9-00-quantizer-49
- [DH] tests/ref/fate/vp9-00-quantizer-50
- [DH] tests/ref/fate/vp9-00-quantizer-51
- [DH] tests/ref/fate/vp9-00-quantizer-52
- [DH] tests/ref/fate/vp9-00-quantizer-53
- [DH] tests/ref/fate/vp9-00-quantizer-54
- [DH] tests/ref/fate/vp9-00-quantizer-55
- [DH] tests/ref/fate/vp9-00-quantizer-56
- [DH] tests/ref/fate/vp9-00-quantizer-57
- [DH] tests/ref/fate/vp9-00-quantizer-58
- [DH] tests/ref/fate/vp9-00-quantizer-59
- [DH] tests/ref/fate/vp9-00-quantizer-60
- [DH] tests/ref/fate/vp9-00-quantizer-61
- [DH] tests/ref/fate/vp9-00-quantizer-62
- [DH] tests/ref/fate/vp9-00-quantizer-63
- [DH] tests/ref/fate/vp9-01-sharpness-1
- [DH] tests/ref/fate/vp9-01-sharpness-2
- [DH] tests/ref/fate/vp9-01-sharpness-3
- [DH] tests/ref/fate/vp9-01-sharpness-4
- [DH] tests/ref/fate/vp9-01-sharpness-5
- [DH] tests/ref/fate/vp9-01-sharpness-6
- [DH] tests/ref/fate/vp9-01-sharpness-7
- [DH] tests/ref/fate/vp9-02-size-08x08
- [DH] tests/ref/fate/vp9-02-size-08x10
- [DH] tests/ref/fate/vp9-02-size-08x16
- [DH] tests/ref/fate/vp9-02-size-08x18
- [DH] tests/ref/fate/vp9-02-size-08x32
- [DH] tests/ref/fate/vp9-02-size-08x34
- [DH] tests/ref/fate/vp9-02-size-08x64
- [DH] tests/ref/fate/vp9-02-size-08x66
- [DH] tests/ref/fate/vp9-02-size-10x08
- [DH] tests/ref/fate/vp9-02-size-10x10
- [DH] tests/ref/fate/vp9-02-size-10x16
- [DH] tests/ref/fate/vp9-02-size-10x18
- [DH] tests/ref/fate/vp9-02-size-10x32
- [DH] tests/ref/fate/vp9-02-size-10x34
- [DH] tests/ref/fate/vp9-02-size-10x64
- [DH] tests/ref/fate/vp9-02-size-10x66
- [DH] tests/ref/fate/vp9-02-size-16x08
- [D
-
Collect AVFrames into buffer
24 novembre 2020, par mgukovI'm collect AVFrames into array and then free them but this causes memory leak.



extern "C" {
#include <libavutil></libavutil>frame.h>
#include <libavutil></libavutil>imgutils.h>
}

#include <vector>
#include <iostream>

AVFrame * createFrame() {
 int width = 1280;
 int height = 720;
 AVPixelFormat format = AV_PIX_FMT_YUV420P;
 int buffer_size = av_image_get_buffer_size(format, width, height, 1);
 uint8_t * buffer = (uint8_t *)av_malloc(buffer_size * sizeof(uint8_t));
 memset(buffer, 1, buffer_size);

 uint8_t *src_buf[4];
 int src_linesize[4];
 av_image_fill_arrays(src_buf, src_linesize, buffer, format, width, height, 1);

 AVFrame * frame = av_frame_alloc();
 frame->width = width;
 frame->height = height;
 frame->format = format;
 av_frame_get_buffer(frame, 0);
 av_image_copy(frame->data, frame->linesize,
 const_cast<const>(src_buf), const_cast<const>(src_linesize),
 format, width, height);
 av_free(buffer);
 return frame;
}

int main(int argc, char *argv[]) {
 uint32_t count = 1024;

 // fill array with frames
 std::vector list;
 for (uint64_t i = 0; i < count; ++i) {
 list.push_back(createFrame());
 }
 // allocated 1385 mb in heap

 // clear all allocated data
 for (auto i = list.begin(); i < list.end(); ++i) {
 if (*i != NULL) {
 av_frame_free(&(*i));
 }
 }
 list.clear();

 // memory-leak of > 360 Mb
}
</const></const></iostream></vector>



But if just create frame and immediatly free it without saving it into vector, no memory leak, despite the fact that the same number of frames was created.



What i'm doing wrong ?



UPDATE :



I was wrong. There is no memory leak here(checked by valgrind), but the freed memory does not immediately return to the operating system, this confused me.