
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (23)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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 (4585)
-
ffmpeg concat two video and add watermark after concating video give me blank mp4 file on server but in local working perfectly why ?
22 février 2018, par Jinal Somaiyai have two video i want to concat them and then add watermark to them but after command run give me blank mp4 file on server but in local working perfectly and on server two video concat perfectly but after that code is not running.
My code is as follows.
$videoFileName = rand('111111', '999999').'_'.time().'.'.$request->file('video1')->getClientOriginalExtension();
$intermediateVideo1 = rand('1111111', '9999999').'_'.time().'.ts';
$intermediateVideo2 = rand('1111111', '9999999').'_'.time().'.ts';
$concatVideoFileName = rand('111111', '999999').'_'.time().'.'.$request->file('video1')->getClientOriginalExtension();
exec('ffmpeg -i '.$request->file('video1').' -c copy -bsf:v h264_mp4toannexb -f mpegts '.$intermediateVideo1);
exec('ffmpeg -i '.$request->file('video2').' -c copy -bsf:v h264_mp4toannexb -f mpegts '.$intermediateVideo2);
exec('ffmpeg -i "concat:'.$intermediateVideo1.'|'.$intermediateVideo2.'" -c copy -bsf:a aac_adtstoasc '.public_path('uploads/videos/'.$concatVideoFileName));
exec('ffmpeg -i '.public_path('uploads/videos/'.$concatVideoFileName).' -i '.storage_path("assets/image/watermark.png").' -filter_complex "overlay" '.public_path('uploads/videos/'.$videoFileName));
File::delete($intermediateVideo1);
File::delete($intermediateVideo2);
File::delete('uploads/videos/'.$concatVideoFileName);
return response()->download(public_path('uploads/videos/'.$videoFileName));output of intermediate video1 :
ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the
FFmpeg developers built with gcc 5.4.0 (Ubuntu
5.4.0-6ubuntu1 16.04.4) 20160609 configuration : —prefix=/usr —extra-version=0ubuntu0.16.04.1 —build-suffix=-ffmpeg —toolchain=hardened —libdir=/usr/lib/x86_64-linux-gnu —incdir=/usr/include/x86_64-linux-gnu —cc=cc —cxx=g++ —enable-gpl —enable-shared —disable-stripping —disable-decoder=libopenjpeg —disable-decoder=libschroedinger —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-libmodplug —enable-libmp3lame —enable-libopenjpeg —enable-libopus —enable-libpulse —enable-librtmp —enable-libschroedinger —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-libxvid —enable-libzvbi —enable-openal —enable-opengl —enable-x11grab —enable-libdc1394 —enable-libiec61883 —enable-libzmq —enable-frei0r —enable-libx264 —enable-libopencv libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 /
56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 /
53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ’storage/assets/video/vcs-ads.mp4’ : Metadata :
major_brand : mp42
minor_version : 0
compatible_brands : mp42mp41isomavc1
creation_time : 2018-01-29 00:23:59 Duration : 00:00:13.76, start : 0.000000, bitrate : 460 kb/s
Stream #0:0(und) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m), 640x360 [SAR 1:1 DAR 16:9], 327 kb/s, 29.97
fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata :
creation_time : 2018-01-29 00:23:59
handler_name : L-SMASH Video Handler
encoder : AVC Coding
Stream #0:1(und) : Audio : aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata :
creation_time : 2018-01-29 00:23:59
handler_name : L-SMASH Audio Handler Output #0, mpegts, to ’1234567_12324.ts’ : Metadata :
major_brand : mp42
minor_version : 0
compatible_brands : mp42mp41isomavc1
encoder : Lavf56.40.101
Stream #0:0(und) : Video : h264 (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=2-31, 327 kb/s, 29.97 fps, 29.97 tbr,
90k tbn, 30k tbc (default)
Metadata :
creation_time : 2018-01-29 00:23:59
handler_name : L-SMASH Video Handler
encoder : AVC Coding
Stream #0:1(und) : Audio : aac (mp4a / 0x6134706D), 48000 Hz, stereo, 128 kb/s (default)
Metadata :
creation_time : 2018-01-29 00:23:59
handler_name : L-SMASH Audio Handler Stream mapping : Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 412 fps=0.0 q=-1.0 Lsize= 898kB
time=00:00:13.76 bitrate= 534.5kbits/s video:550kB audio:215kB
subtitle:0kB other streams:0kB global headers:0kB muxing overhead :
17.329643% -
How can i create an mp4 out of an image sequance
9 août 2021, par KingOfTNT10I'm trying to create a program that I can give it a source folder (that contains for example jpeg images) and a destination folder (that the mp4 will go to) I want to be able to set a specific delay between every image so for example, the first image would be shown for 1 second and the second for 4 seconds


I don't want to use FFmpeg I want to edit the image in the process so I'd rather have a for loop or something like that so I can edit every image


I have tried using FFmpeg and moviepy I couldn't figure out how to do it
any ideas ?


-
FFMPEG : RGB to YUV conversion by binary ffmpeg and by code C++ give different results
15 mars 2015, par muocdichI am trying to convert RGB frames (ppm format) to YUV420P format using ffmpeg. To make sure that my code C++ is good , I compared the output with the one created by this command (the same filer BILINEAR) :
ffmpeg -start_number 1 -i data/test512x512%d.ppm -sws_flags ’bilinear’ -pix_fmt yuv420p data/test-yuv420p.yuvMy code :
static unsigned char *readPPM(int i)
{
FILE *pF;
unsigned char *imgRGB;
unsigned char *imgBGR;
int w,h;
int c;
int bit;
char buff[16];
char *filename;
asprintf(&filename,"test512x512%d.ppm",i);
pF = fopen(filename,"rb");
free(filename);
if (pF) {
if (!fgets(buff, sizeof(buff), pF)) {
return nullptr;
}
if (buff[0] != 'P' || buff[1] != '6') {
fprintf(stderr, "Invalid image format (must be 'P6')\n");
return nullptr;
}
c = getc(pF);
while (c == '#') {
while (getc(pF) != '\n') ;
c = getc(pF);
}
ungetc(c, pF);
// read size
if (fscanf(pF, "%d %d", &w, &h) != 2) {
fprintf(stderr, "Invalid image size (error loading '%s')\n", filename);
return nullptr;
}
//read bit
if (fscanf(pF, "%d", &bit) != 1) {
fprintf(stderr, "Invalid rgb component (error loading '%s')\n", filename);
exit(1);
}
imgRGB =(unsigned char*) malloc(3*h*w);
imgBGR =(unsigned char*) malloc(3*h*w);
//read pixel data from file
int length = fread(imgBGR, sizeof(unsigned char)*3, w*h, pF) ;
if (length != w*h) {
fprintf(stderr, "Error loading image '%s'\n", filename);
return nullptr;
}
int start=0;
for (i=0; i < HEIGHT*WIDTH;i++) {
imgRGB[start] = imgBGR[start];
imgRGB[start+2]= imgBGR[start+2];
imgRGB[start+1]= imgBGR[start+1];
start+=3;
}
fclose(pF);
free(imgBGR);
return imgRGB;
}
else {
return nullptr;
}
}
void Test_FFMPEG::FillFrame (uint8_t* pic, int index)
{
avpicture_fill((AVPicture*)RGBFrame, pic, AV_PIX_FMT_RGB24, encodeContext->width, encodeContext->height);
struct SwsContext* fooContext = sws_getContext(encodeContext->width, encodeContext->height,
PIX_FMT_RGB24,
encodeContext->width, encodeContext->height,
PIX_FMT_YUV420P,
SWS_BILINEAR , nullptr, nullptr, nullptr);
sws_scale(fooContext, RGBFrame->data, RGBFrame->linesize, 0, encodeContext->height, OrgFrame->data, OrgFrame->linesize);
OrgFrame->pts = index;
}The comparison result is not good. The are slight differences in Y and V but a lot in U. I cannot post my images but there is a part of Y is in U image. And it makes color change a little bit.
Can you tell me where is my error ? Thanks you