
Recherche avancée
Médias (2)
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
Autres articles (88)
-
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)
Sur d’autres sites (17648)
-
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 do I save `RTSP` streams as `*.mp4` files in Golang ? [closed]
14 septembre 2021, par Clancy ZengI need to use
Golang
to save the data from theRTSP
stream to a*.mp4
video file for a specified length of time.

I wanted to install an
FFmpeg
application and then call a command like this fromGolang
to solve my needs.



ffmpeg -i rtsp ://192.168.108.132:8554/profile0 -r 16 -tt 60 /tmp/test.mp4




But installing
FFMPEG
takes up hundreds of megabytes of space.So this idea was rejected by the leadership.

Is there a pure
Golang
implementation library that can address my needs ?Or is there agolang-only
library that parsesRTSP
streams and saves them as*.MP4
video files ?

-
I cant save the animation in ffmpeg
22 mai 2021, par Gokuli tried various examples though i cant find proper solution. This is the example code of my project i want to save this in a mp4 format and i used ffmpeg. the animation was saved if I use df = pd.DataFrame(np.random.rand(250,3)) but it is not working for my sample code, it showed key error = 0. Note : df1 = pd.DataFrame(np.random.randint(5,15,[250,3])).
Any suggestion for this would be appreciated. Thank you in advance


import pandas as pd
import numpy as np
import ma``tplotlib.pyplot as plt
import matplotlib.animation as animation

df = data.iloc[0:250, 4:12]
df1 = df2.iloc[:,0:3]

a1 = df.iloc[:,0]/2
a2 = df.iloc[:,1]/2
b1 = df.iloc[:,2]/2
b2 = df.iloc[:,3]/2
c1 = df.iloc[:,4]/2
c2 = df.iloc[:,5]/2
m1 = df1.iloc[:,0]
m2 = df1.iloc[:,1]
m3 = df1.iloc[:,2]

fig ,ax = plt.subplots()

l1, = ax.plot (vert1, vert2, 'ro', markersize = m1[0])
l2, = ax.plot (long1, long2, 'ro', markersize = m2[0])
l3, = ax.plot (tras1, tras2, 'ro', markersize = m3[0])

def init(): 
 l1.set_data([],[])
 l2.set_data([],[])
 l3.set_data([],[])
 
 return (l1,l2,l3)

def animate(i,l1,l2,l3):
 
 l1.set_data(vert1[i], vert2[i])
 l1.set_markersize(m1[i])
 l2.set_data(long1[i], long2[i])
 l2.set_markersize(m2[i])
 l3.set_data(tras1[i], tras2[i])
 l3.set_markersize(m3[i])

 return (l1,l2,l3)

Writer = animation.writers['ffmpeg']
writer = Writer(fps= 100, metadata = dict(artist = 'me'), bitrate = 1800)

ani = animation.FuncAnimation(fig, animate, fargs=(l1,l2,l3), init_func=init, interval=10, blit=False)
ani.save('/Users/gokulthangavel/Downloads/basic_animation.mp4', writer = writer)

plt.show()