
Recherche avancée
Médias (9)
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (38)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (9405)
-
Trying to save frames as colored image using Ffmpeg in C++
2 septembre 2021, par TolgaI am new to FFmpeg and I am trying to save the video frames as colored images. I have achieved saving them as grayscale using Netpbm, however, I need to save the frames as colored. I have tried implementing the code in this link.


However, I get an error :


'Exception thrown at 0x00E1FC4F (swscale-5.dll) in VideoDecoding2.exe:
 0xC0000005: Access violation writing location 0xCCCCCCCC.'



Is there any way to improve this code or another way to save frames as colored ?


Here is my code below.


- 

src_pix_fmt
isAV_PIX_FMT_YUV420p
.dst_pix_fmt
isAV_PIX_FMT_RGB24
.






src_pix_fmt = avcc->pix_fmt;

src_width = avcc->width;
src_height = avcc->height;

dst_width = src_width;
dst_height = src_height;

numBytes = av_image_get_buffer_size(dst_pix_fmt, dst_width, dst_height, 0);

buffer = (uint8_t*)av_malloc(numBytes);

if ((ret = av_image_alloc(src_data, src_linesize, src_width, src_height, src_pix_fmt, 16)) < 0)
{
 printf("Couldn't allocate source image.\n");
 return 0;
}

av_image_fill_arrays(frameRGB->data, frameRGB->linesize, buffer, dst_pix_fmt, dst_width, dst_height, 0);

while (av_read_frame(avfc, packet) >= 0)
{
 ret = avcodec_send_packet(avcc, packet);
 if (ret < 0)
 {
 printf("Packets could not supplied to decoder.\n");
 return -1;
 }

 ret = avcodec_receive_frame(avcc, frame);
 printf("%d", ret);

 if (packet->stream_index == videoStream)
 {
 sws_ctx = sws_getContext(src_width, src_height, src_pix_fmt,
 dst_width, dst_height, dst_pix_fmt,
 SWS_BILINEAR, NULL, NULL, NULL);

 if (!sws_ctx)
 {
 printf("Cannot create scale context for conversion\n"
 "fmt:%s s:%dx%d --> fmt:%s s:%dx%d\n",
 av_get_pix_fmt_name(src_pix_fmt), src_width, src_height,
 av_get_pix_fmt_name(dst_pix_fmt), dst_width, dst_height);
 return 0;
 }

 sws_scale(sws_ctx, (const uint8_t* const*)frame->data, frame->linesize, 0, frame->height, dst_data, dst_linesize);

 FILE* f;
 char szFilename[32];
 int y;

 snprintf(szFilename, sizeof(szFilename), "frame%d.ppm", avcc->frame_number);
 fopen_s(&f, szFilename, "wb");
 
 if (f == NULL)
 {
 printf("Couldn't open file.\n");
 return 0;
 }
 
 fprintf(f, "P6\n%d %d\n255\n", dst_width, dst_height);

 for (y = 0; y < dst_height; y++)
 fwrite(frameRGB->data[0] + y * frameRGB->linesize[0], 1, dst_width * 3, f);
 
 fclose(f);
 }
}



-
How to record an HTML animation and save it as a video, in an automated manner in the backend
14 mai 2022, par frizurdI need to record a webpage and save it as a video, in an automated manner, without human interaction.


I am creating a NodeJS app that generates MP4 videos on the request of the user. The user provides an MP3 file, the app generates animated waveforms for the sound file on top of an illustration.


What I came up with so far is a system that opens a generated web page in the backend, plays the audio file, and shows audio visualization for the audio file on an HTML canvas element. On top of another canvas with mainly static components, such as images, that do not animate. The system records this, the output will be a video file. Finally, I will merge the video file with the sound file to create the final file for the user.


I came up with 2 possible solutions but both of them have problems which I am not able to solve at the moment.



Solution #1


Use a headless browser API such as Phantomjs or Puppeteer to snatch a screenshot x time every second and pipe it to FFmpeg.


The problem


The problem with this is that the process is not realtime. It would work fine if it's JUST an animation but mine is dependant on the audio file. The audio file will play-on during the render which results in a glitchy 1FPS-esque video.


Possible solution ?


Don't play the audio file live but convert the audio file into raw data. Animate the audio visualization based on the raw data instead.
Not sure how to do this and if it's even possible.



Solution #2


Play, record, and save the animation, all in the frontend.
Could use ccapture.js to record and save a canvas.
Use a headless browser to open the page and save it to disk when it's done playing.
Doesn't sound like it's the best solution.


The problem(s)


I have more than 1 canvas.
It takes a while, especially when the audio file is longer than 10 minutes.
Making users wait for a long time can be a deal-breaker.


Possible solution ?


Merge canvases into one.


No idea how to speed up the rendering time and I doubt it's possible this way.


-
record desktop save every 30 minutes
31 mars 2014, par Maged E Williamhere is my question that related to the same problem :
better way to record desktop via ffmpeg
I have this command :
ffmpeg -f dshow -i video="screen-capture-recorder" -r 30 -t 10 E:\test01.flv
And i am happy with it, but i wonder if i can make it save every 30 minutes so if the power went off i only loses the last 30 minutes.
I use
C#
to launch and hideffmpeg cmd
, so i wonder how to make it save to the sametest01.flv
every 30 minutes ?