Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (88)

  • Gestion générale des documents

    13 mai 2011, par

    Mé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 2013

    Jolie 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, par

    MediaSPIP 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 Tolga

    I 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 is AV_PIX_FMT_YUV420p.
    • 


    • dst_pix_fmt is AV_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 Zeng

    I need to use Golang to save the data from the RTSP 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 from Golang 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 a golang-only library that parses RTSP streams and saves them as *.MP4 video files ?

    


  • I cant save the animation in ffmpeg

    22 mai 2021, par Gokul

    i 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()