Recherche avancée

Médias (0)

Mot : - Tags -/organisation

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (57)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains 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 ;

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (7448)

  • Nomenclature #3470 : Introduire une balise #AUTEUR

    14 février 2017, par tetue tetue

    Ah voilà, je viens de comprendre pourquoi il fut ainsi nommé : parce que ce ticket est une sous-tâche du #3466 (où n’est pas oublié le cas particulier des articles syndiqués). Il me semblait logique d’étendre d’abord l’existant, puis de renommer ensuite, mais ce n’est peut-être pas logique, d’un point de vue code :P

  • Generate fmp4 chunks for HLS with ffmpeg

    9 mars 2017, par genxstylez

    I am trying to generate fragmented MP4 as the chunks for HLS as introduced by apple last year.

    See link -> https://bitmovin.com/hls-news-wwdc-2016/

    Does ffmpeg supports this ?

    Thanks !

  • Crash at sws_scale when converting AVFrame to RGB32

    1er mars 2017, par WLGfx

    Crashing at sws_scale when converting an AVPicture

    At first I was using sws_scale to actually scale the frames up but the cpu overhead was too high, so I decided to just convert the frames and adjust the QImage size instead. Before it was working and I was getting the video displaying when rendered, but now it crashes at sws_scale.

    This is written in Qt for Android and using FFMpeg 3.1.4.

    Also, is there another way around not using the deprecated functions ?

    Does anybody know why I am getting the crash at sws_scale ?

    The class for the VideoFrameCopy

    class VideoFrameCopy {
    public:
       VideoFrameCopy() {}
       VideoFrameCopy(AVFrame *frame) { copyAVFrame(frame); }
       ~VideoFrameCopy();
       void copyAVFrame(AVFrame *frame); // copy essential data from AVFrame

       AVPicture picture;

       int64_t pkt_pts = -1; // show it hasn't been initialised
       int64_t best_pts;
       int interlaced_frame;
       int width = 0, height = 0;
       int format = -1;
    };

    The code that converts the frame to RGBA8888 QImage

    if (frame) {

       if (image->width() != vid_ctx->width || image->height() != vid_ctx->height) {
           QSize old_size(image->size());

           // block until renderer has finished with it

           while (parent->buffer_ready) {
               QThread::yieldCurrentThread();
           }

           delete image;

           image = new QImage(vid_ctx->width, vid_ctx->height, QImage::Format_RGBA8888);
           parent->image = image;

           if (scale_context) sws_freeContext(scale_context);
           scale_context = nullptr;

           qDebug() << "Video image size" << image->size() << "old" << old_size;
       }

       // the src width and height may need to change to use the context info instead

       if (!scale_context) { // create the scale context
           int src_width = vid_ctx->width;
           int src_height = vid_ctx->height;
           AVPixelFormat src_format = vid_ctx->pix_fmt;//(AVPixelFormat)frame->format;

           int dst_width = vid_ctx->width;
           int dst_height = vid_ctx->height;
           AVPixelFormat dst_format = AV_PIX_FMT_RGBA;

           scale_context = sws_getContext(src_width, src_height, src_format,
                                          dst_width, dst_height, dst_format,
                                          SWS_FAST_BILINEAR, NULL, NULL, NULL);

           av_image_fill_linesizes(scale_linesizes, dst_format, vid_ctx->width);

           qDebug() << "Created scale context" << scale_context;
       }

       if (scale_context) { // valid
           scale_data[0] = image->bits();

           sws_scale(scale_context,
                     frame->picture.data, // deprecated
                     frame->picture.linesize, // deprecated
                     0, image->height(),
                     scale_data,
                     scale_linesizes);

           qDebug() << "Frame converted";
       }

       //av_frame_unref(frame);

       //vid_frames_mutex.lock();
       //if (quit) av_frame_free(&frame);
       if (quit) delete frame;
       else vid_frames_unused.push_back(frame);
       //vid_frames_mutex.unlock();

       //qDebug() << "got frame" << clock_current_frame_last << "clock" << clock_current_time;
    }

    vid_frames_mutex.unlock();

    return frame != nullptr;

    Functions from the VideoFrameCopy class

    void VideoFrameCopy::copyAVFrame(AVFrame *frame) {
       if (pkt_pts != -1 &&
               (width != frame->width ||
                height != frame->height ||
                format != frame->format)
               ) { // picture changed?
           avpicture_free(&picture); // deprecated
           pkt_pts = -1;
       }

       width = frame->width;
       height = frame->height;
       format = frame->format;
       interlaced_frame = frame->interlaced_frame;

       if (pkt_pts == -1) { // alloc picture
           if (avpicture_alloc(&picture, (AVPixelFormat)format, width, height) < 0) return; // deprecated
           int size = avpicture_get_size((AVPixelFormat)format, width, height); // deprecated
           uint8_t *picture_data = (uint8_t*)av_malloc(size);
           avpicture_fill(&picture, picture_data, (AVPixelFormat)format, width, height); // deprecated

           qDebug() << "New frame" << width << "x" << height << format;
       }

       pkt_pts = frame->pkt_pts;
       best_pts = av_frame_get_best_effort_timestamp(frame);

       av_picture_copy(&picture, (AVPicture*)frame, (AVPixelFormat)format, width, height); // deprecated

       qDebug() << "picture" << picture.linesize[0] << picture.linesize[1]; // deprecated
    }

    VideoFrameCopy::~VideoFrameCopy() {
       if (pkt_pts != -1) {
           /*if (picture.data) {
               av_free(picture.data);
               picture.data = nullptr;
           }*/
           avpicture_free(&picture); // deprecated
       }
    }

    Sample output from the logcat

    D/libcwengage2.so(20157): ../cwengage2/ffmpegfile.cpp:659 (void VideoFrameCopy::copyAVFrame(AVFrame*)): New frame 640 x 358 0
    D/libcwengage2.so(20157): ../cwengage2/ffmpegfile.cpp:667 (void VideoFrameCopy::copyAVFrame(AVFrame*)): picture 640 320
    D/libcwengage2.so(20157): ../cwengage2/ffmpegfile.cpp:586 (bool FFMpegFile::getVideoFrame()): Video image size QSize(640, 358) old QSize(500, 320)
    D/libcwengage2.so(20157): ../cwengage2/ffmpegfile.cpp:659 (void VideoFrameCopy::copyAVFrame(AVFrame*)): New frame 640 x 358 0
    D/libcwengage2.so(20157): ../cwengage2/ffmpegfile.cpp:606 (bool FFMpegFile::getVideoFrame()): Created scale context 0x4bb49060
    D/libcwengage2.so(20157): ../cwengage2/ffmpegfile.cpp:667 (void VideoFrameCopy::copyAVFrame(AVFrame*)): picture 640 320
    F/libc    (20157): Fatal signal 7 (SIGBUS) at 0x4e065008 (code=1), thread 20335 (QThread)
    I/DEBUG   (  116): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    I/DEBUG   (  116): Build fingerprint: 'ODROID/odroidc/odroidc:4.4.2/KOT49H/odroidc-eng-s805_4.4.2_master-410:eng/test-keys'
    I/DEBUG   (  116): Revision: '10'
    I/DEBUG   (  116): pid: 20157, tid: 20335, name: QThread  >>> org.qtproject.example <<<
    I/DEBUG   (  116): signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 4e065008
    I/DEBUG   (  116):     r0 00000280  r1 00000166  r2 4e065008  r3 00000a00
    I/DEBUG   (  116):     r4 4d9bd030  r5 00000280  r6 4d9f4f28  r7 00000140
    I/DEBUG   (  116):     r8 00000280  r9 00000010  sl 4da02ee8  fp 4e065a08
    I/DEBUG   (  116):     ip 4d9bd2a0  sp 4c1948f8  lr 4a8f1d2c  pc 4a8f4dc0  cpsr 280f0010
    I/DEBUG   (  116):     d0  004a004a004a004a  d1  0081ffccffe70066
    I/DEBUG   (  116):     d2  004a004a004a004a  d3  0000000000000000
    I/DEBUG   (  116):     d4  0000000000000000  d5  0000000000000000
    I/DEBUG   (  116):     d6  0000000001010101  d7  0000000001010101
    I/DEBUG   (  116):     d8  0000000001010101  d9  ffffffffffffffff
    I/DEBUG   (  116):     d10 0000000000000000  d11 0000000000000000
    I/DEBUG   (  116):     d12 0000000000000000  d13 ffffffffffffffff
    I/DEBUG   (  116):     d14 004a004a004a004a  d15 004a004a004a004a
    I/DEBUG   (  116):     d16 0000000000000000  d17 0000000000000000
    I/DEBUG   (  116):     d18 0000000000000000  d19 0000000000000000
    I/DEBUG   (  116):     d20 0000000000000000  d21 0000000000000000
    I/DEBUG   (  116):     d22 0000000000000000  d23 0000000000000000
    I/DEBUG   (  116):     d24 0000000000000000  d25 0000000000000000
    I/DEBUG   (  116):     d26 0000000000000000  d27 0000000000000000
    I/DEBUG   (  116):     d28 004a004a004a004a  d29 0000000000000000
    I/DEBUG   (  116):     d30 0000000000000000  d31 0000000000000000
    I/DEBUG   (  116):     scr 20000010
    I/DEBUG   (  116):
    I/DEBUG   (  116): backtrace:
    I/DEBUG   (  116):     #00  pc 0000edc0  /data/app-lib/org.qtproject.example-1/libswscale-4.so
    I/DEBUG   (  116):     #01  pc 0000bd28  /data/app-lib/org.qtproject.example-1/libswscale-4.so
    I/DEBUG   (  116):
    I/DEBUG   (  116): stack:
    I/DEBUG   (  116):          4c1948b8  0000004b  
    I/DEBUG   (  116):          4c1948bc  4bb2d270  
    I/DEBUG   (  116):          4c1948c0  0000013c  
    I/DEBUG   (  116):          4c1948c4  4011edbc  /system/lib/libc.so (dlmalloc+480)
    I/DEBUG   (  116):          4c1948c8  4c19494a  [stack:20335]
    I/DEBUG   (  116):          4c1948cc  4015e384  
    I/DEBUG   (  116):          4c1948d0  00000010  
    I/DEBUG   (  116):          4c1948d4  489033ef  /data/app-lib/org.qtproject.example-1/libQt5Core.so
    I/DEBUG   (  116):          4c1948d8  00001000  
    I/DEBUG   (  116):          4c1948dc  00000000  
    I/DEBUG   (  116):          4c1948e0  4bb2d470  
    I/DEBUG   (  116):          4c1948e4  4bb2d478  
    I/DEBUG   (  116):          4c1948e8  4bb2d478  
    I/DEBUG   (  116):          4c1948ec  4bb2d470  
    I/DEBUG   (  116):          4c1948f0  00000002  
    I/DEBUG   (  116):          4c1948f4  4012109c  /system/lib/libc.so (dlfree+996)
    I/DEBUG   (  116):     #00  4c1948f8  11111111  
    I/DEBUG   (  116):          ........  ........
    I/DEBUG   (  116):     #01  4c1948f8  11111111  
    I/DEBUG   (  116):          4c1948fc  3fa11111  
    I/DEBUG   (  116):          4c194900  40000000  
    I/DEBUG   (  116):          4c194904  40640d79  /system/lib/libskia.so
    I/DEBUG   (  116):          4c194908  00000000  
    I/DEBUG   (  116):          4c19490c  3ff00000  
    I/DEBUG   (  116):          4c194910  00000000  
    I/DEBUG   (  116):          4c194914  3ff00000  
    I/DEBUG   (  116):          4c194918  00000000  
    I/DEBUG   (  116):          4c19491c  3ff00000  
    I/DEBUG   (  116):          4c194920  00000000  
    I/DEBUG   (  116):          4c194924  3f800000  
    I/DEBUG   (  116):          4c194928  00000000  
    I/DEBUG   (  116):          4c19492c  00000000  
    I/DEBUG   (  116):          4c194930  00000000  
    I/DEBUG   (  116):          4c194934  00000000  
    I/DEBUG   (  116):
    I/DEBUG   (  116): memory near r2:
    I/DEBUG   (  116):     4e064fe8 00000000 00000000 00000000 00000007  

    ...

    I/DEBUG   (  116): memory map around fault addr 4e065008:
    I/DEBUG   (  116):     4dd15000-4df15000 rw- /dev/mali
    I/DEBUG   (  116):     4df15000-4e199000 rw-
    I/DEBUG   (  116):     4e676000-4e876000 rw- /dev/mali
    I/BootReceiver(  479): Copying /data/tombstones/tombstone_07 to DropBox (SYSTEM_TOMBSTONE)
    W/ActivityManager(  479):   Force finishing activity org.qtproject.example/org.qtproject.qt5.android.bindings.QtActivity
    I/WindowState(  479): WIN DEATH: Window{64cf3a40 u0 org.qtproject.example/org.qtproject.qt5.android.bindings.QtActivity}
    I/WindowState(  479): WIN DEATH: Window{64d0f6e0 u0 SurfaceView}
    I/UsageStats(  479): No package stats for pkg:org.qtproject.example
    I/art     (  118): Process 20157 terminated by signal (7)
    W/ActivityManager(  479): Exception thrown during pause
    W/ActivityManager(  479): android.os.DeadObjectException
    W/ActivityManager(  479):   at android.os.BinderProxy.transact(Native Method)
    W/ActivityManager(  479):   at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:660)
    W/ActivityManager(  479):   at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:778)
    W/ActivityManager(  479):   at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2614)
    W/ActivityManager(  479):   at com.android.server.am.ActivityStack.finishTopRunningActivityLocked(ActivityStack.java:2488)
    W/ActivityManager(  479):   at com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked(ActivityStackSupervisor.java:2196)
    W/ActivityManager(  479):   at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:9705)
    W/ActivityManager(  479):   at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:9598)
    W/ActivityManager(  479):   at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:10243)
    W/ActivityManager(  479):   at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:9794)
    W/ActivityManager(  479):   at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
    D/ActivityManager(  479): resumeClassName is com.android.launcher2.Launcher
    D/ActivityManager(  479): resumePackageName is com.android.launcher
    I/ActivityManager(  479): Process org.qtproject.example (pid 20157) has died.
    D/ActivityManager(  479): send app_CRASH broadcast, packageName:org.qtproject.example

    Much appreciated if anyone can help...