Recherche avancée

Médias (1)

Mot : - Tags -/blender

Autres articles (99)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

  • 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 (11191)

  • Getting error "DLL load failed while importing rect : %1 is not a valid Win32 application" while importing package

    17 août 2020, par Sagar Donadkar

    I am using cython package to call Cpp API and in my cpp code i am using ffmpeg library and able to build my code successfully using bellow command

    


    python setup.py build_ext --inplace --compiler=msvc


    


    but when i try to import generated pyd file then i get error

    


    PS D:\SiVUE\Backend\Cython\demo> python&#xA;Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:20:19) [MSC v.1925 32 bit (Intel)] on win32&#xA;Type "help", "copyright", "credits" or "license" for more information.&#xA;>>> import rect&#xA;Traceback (most recent call last):&#xA;  File "<stdin>", line 1, in <module>&#xA;ImportError: DLL load failed while importing rect: %1 is not a valid Win32 application.&#xA;>>> &#xA;</module></stdin>

    &#xA;

    My entire code is provided bellow

    &#xA;

    header file&#xA;#ifndef RECTANGLE_H&#xA;#define RECTANGLE_H&#xA;#include <iostream>&#xA;&#xA;extern "C"&#xA;{&#xA;    #include "libavformat/avformat.h"&#xA;    #include "libavutil/dict.h"&#xA;}&#xA;&#xA;using namespace std;&#xA;&#xA;namespace shapes &#xA;{&#xA;    class Rectangle {&#xA;        public:&#xA;            int x0, y0, x1, y1;&#xA;            Rectangle();&#xA;            Rectangle(int x0, int y0, int x1, int y1);&#xA;            ~Rectangle();&#xA;            int getArea();&#xA;            int ffmpegFile();&#xA;            void getSize(int* width, int* height);&#xA;            void move(int dx, int dy);&#xA;    };&#xA;}&#xA;&#xA;#endif&#xA;</iostream>

    &#xA;

    Rectangle.Cpp file in ffmpegFile() i am calling mostly ffmpeg API

    &#xA;

    &#xA;#include <iostream>&#xA;#include "Rectangle.hpp"&#xA;&#xA;namespace shapes {&#xA;    &#xA;&#xA;    // Default constructor&#xA;    Rectangle::Rectangle () {}&#xA;&#xA;    // Overloaded constructor&#xA;    Rectangle::Rectangle (int x0, int y0, int x1, int y1) {&#xA;        this->x0 = x0;&#xA;        this->y0 = y0;&#xA;        this->x1 = x1;&#xA;        this->y1 = y1;&#xA;    }&#xA;&#xA;    // Destructor&#xA;    Rectangle::~Rectangle () {}&#xA;&#xA;    // Return the area of the rectangle&#xA;    int Rectangle::getArea () {&#xA;        return 10;&#xA;    }&#xA;&#xA;    // Get the size of the rectangle.&#xA;    // Put the size in the pointer args&#xA;    void Rectangle::getSize (int *width, int *height) {&#xA;        (*width) = x1 - x0;&#xA;        (*height) = y1 - y0;&#xA;    }&#xA;&#xA;    // Move the rectangle by dx dy&#xA;    void Rectangle::move (int dx, int dy) {&#xA;        this->x0 &#x2B;= dx;&#xA;        this->y0 &#x2B;= dy;&#xA;        this->x1 &#x2B;= dx;&#xA;        this->y1 &#x2B;= dy;&#xA;    }&#xA;    int Rectangle::ffmpegFile()&#xA;    {&#xA;        AVFormatContext *fmt_ctx = NULL;&#xA;        AVDictionaryEntry *tag = NULL;&#xA;        int ret = 0;&#xA;        char* filename = "D:\\Discovery.mp4";&#xA;&#xA;        if ((ret = avformat_open_input(&amp;fmt_ctx, filename, NULL, NULL)))&#xA;            return ret;&#xA;&#xA;        if ((ret = avformat_find_stream_info(fmt_ctx, NULL)) &lt; 0) {&#xA;            av_log(NULL, AV_LOG_ERROR, "Cannot find stream information\n");&#xA;            return ret;&#xA;        }&#xA;&#xA;        while ((tag = av_dict_get(fmt_ctx->metadata, "", tag, AV_DICT_IGNORE_SUFFIX)))&#xA;            printf("%s=%s\n", tag->key, tag->value);&#xA;&#xA;        avformat_close_input(&amp;fmt_ctx);&#xA;        return ret;&#xA;    }&#xA;}&#xA;</iostream>

    &#xA;

    Rectangle.pxd file declaration for cpp file function and variable

    &#xA;

    cdef extern from "Rectangle.cpp":&#xA;    pass&#xA;cdef extern from "Rectangle.hpp" namespace "shapes":&#xA;    cdef cppclass Rectangle:&#xA;        Rectangle() except &#x2B;&#xA;        Rectangle(int, int, int, int) except &#x2B;&#xA;        int x0, y0, x1, y1&#xA;        int getArea()&#xA;        void getSize(int* width, int* height)&#xA;        void move(int, int)&#xA;        int ffmpegFile()&#xA;

    &#xA;

    rect.pyx file i am calling cpp API

    &#xA;

    # distutils: language = c&#x2B;&#x2B;&#xA;&#xA;from Rectangle cimport Rectangle&#xA;&#xA;cdef class PyRectangle:&#xA;    cdef Rectangle c_rect  # Hold a C&#x2B;&#x2B; instance which we&#x27;re wrapping&#xA;&#xA;    def __cinit__(self, int x0, int y0, int x1, int y1):&#xA;        self.c_rect = Rectangle(x0, y0, x1, y1)&#xA;&#xA;    def get_area(self):&#xA;        return self.c_rect.getArea()&#xA;&#xA;    def get_size(self):&#xA;        cdef int width, height&#xA;        self.c_rect.getSize(&amp;width, &amp;height)&#xA;        return width, height&#xA;&#xA;    def move(self):&#xA;        print(self.c_rect.ffmpegFile())&#xA;

    &#xA;

    setup.py&#xA;I provided pyx file and ffmpeg library path as well as include path

    &#xA;

    from distutils.core import setup&#xA;from setuptools import Extension&#xA;from Cython.Build import cythonize &#xA;&#xA;sfc_module = [Extension(&#x27;rect&#x27;, sources = [&#x27;rect.pyx&#x27;],&#xA;                       include_dirs = [&#x27;D:\\SiVUE\\Backend\\Cython\\demo\\ffmpeg\\include\\&#x27;],&#xA;                       library_dirs = [&#x27;D:\\SiVUE\\Backend\\Cython\\demo\\ffmpeg\\lib\\&#x27;],&#xA;                       libraries = [&#x27;avcodec&#x27;,&#x27;avdevice&#x27;,&#x27;avfilter&#x27;,&#x27;avformat&#x27;,&#x27;avutil&#x27;,&#x27;postproc&#x27;,&#x27;swresample&#x27;,&#x27;swscale&#x27;],&#xA;                       language=&#x27;c&#x2B;&#x2B;&#x27;)]&#xA;&#xA;setup(name = &#x27;superfastcode&#x27;, version = &#x27;1.0&#x27;,&#xA;    description = &#x27;Python Package with superfastcode C&#x2B;&#x2B; extension&#x27;,&#xA;    ext_modules = cythonize(sfc_module),&#xA;    include_dirs = [&#x27;D:\\SiVUE\\Backend\\Cython\\demo\\ffmpeg\\include\\&#x27;]&#xA;    )&#xA;

    &#xA;

    Thank You

    &#xA;

  • Alias Artifacts

    26 avril 2013, par Multimedia Mike — General

    Throughout my own life, I have often observed that my own sense of nostalgia has a window that stretches about 10-15 years past from the current moment. Earlier this year, I discovered the show “Alias” and watched through the entire series thanks to Amazon Prime Instant Video (to be fair, I sort of skimmed the fifth and final season which I found to be horribly dull, or maybe franchise fatigue had set in). The show originally aired from 2001-2006 so I found that it fit well within the aforementioned nostalgia window.


    Alias (TV Series) logo

    But what was it, exactly, about the show that triggered nostalgia ? The computers, of course ! The show revolved around spies and espionage and cutting-edge technology necessarily played a role. The production designer for the series must have decided that Unix/Linux == awesome hacking and so many screenshots featured Linux.

    Since this is still nominally a multimedia blog, I’ll start of the screenshot recon with an old multimedia player. Here is a vintage Mac OS desktop running an ancient web browser (probably Netscape) that’s playing a full-window video (probably QuickTime embedded directly into the browser).


    Old Mac OS with old browser

    Click for larger image


    Let’s jump right into the Linux side of things. This screenshot makes me particularly sentimental since this is exactly what a stock Linux/KDE desktop looked like circa 2001-2003 and is more or less what I would have worked with on my home computer at the time :


    Alias: Linux/KDE desktop

    Click for larger image


    Studying that screenshot, we see that the user logs in as root, even to the desktop environment. Poor security practice ; I would expect better from a bunch of spooks.

    Echelon
    Look at the terminal output in the above screenshot– it’s building a program named Echelon, an omniscient spy tool inspired by a real-world surveillance network of the same name. In the show, Echelon is used to supply plot-convenient intelligence. At one point, some antagonists get their hands on the Echelon source code and seek to compile it. When they do, they will have access to the vast surveillance network. If you know anything about how computers work, don’t think about that too hard.

    Anyway, it’s interesting to note that Echelon is a properly autotool’d program– when the bad guys finally got Echelon, installation was just a ‘make install’ command away. The compilation was very user-friendly, though, as it would pop up a nice dialog box showing build progress :


    Alias: Compiling Echelon

    Click for larger image


    Examining the build lines in both that screenshot and the following lines, we can see that Echelon cares about files such as common/db_err.c and bt_curadj.c :


    Alias: Echelon used Berkeley DB

    Click for larger image


    A little googling reveals that these files both belong to the Berkeley DB library. That works ; I can imagine a program like this leveraging various database packages.

    Computer Languages
    The Echelon source code stuff comes from episode 2.11 : “A Higher Echelon”. While one faction had gotten a hold of the actual Echelon source code, a rival faction had abducted the show’s resident uber-nerd and, learning that they didn’t actually receive the Echelon code, force the nerd to re-write Echelon from scratch. Which he then proceeds to do…


    Alias: Rewriting Echelon

    Click for larger image


    The code he’s examining there appears to be C code that has something to do with joystick programming (JS_X_0, JS_Y_1, etc.). An eagle-eyed IMDb user contributed the trivia that he is looking at the file /usr/include/Linux/joystick.h.

    Getting back to the plot, how could the bad buys possibly expect him to re-write a hugely complex piece of software from scratch ? You might think this is the height of absurdity for a computer-oriented story. You’ll be pleased to know that the writers agreed with that assessment since, when the program was actually executed, it claimed to be Echelon, but that broke into a game of Pong (or some simple game). Suddenly, it makes perfect sense why the guy was looking at the joystick header file.

    This is the first bit of computer-oriented fun that I captured when I was watching the series :


    Alias: Java on the mainframe

    Click for larger image


    This printout purports to be a “mainframe log summary”. After some plot-advancing text about a security issue, it proceeds to dump out some Java source code.

    SSH
    Secure Shell (SSH) frequently showed up. Here’s a screenshot in which a verbose ‘ssh -v’ connection has just been closed, while a telnet command has apparently just been launched (evidenced by “Escape character is ‘^]’.”) :


    Alias: SSH/telnet

    Click for larger image


    This is followed by some good old Hollywood Hacking in which a free-form database command is entered through any available command line interface :


    Alias: Intuitive command line interface

    Click for larger image


    I don’t remember the episode details, but I’m pretty sure the output made perfect sense to the character typing the command. Here’s another screenshot where the SSH client pops up an extra-large GUI dialog element to notify the user that it’s currently negotiating with the host :


    Alias: SSH negotiation dialog

    Click for larger image


    Now that I look at that screenshot a little more closely, it appears to be a Win95/98 program. I wonder if there was an SSH client that actually popped up that gaudy dialog.

    There’s a lot of gibberish in this screenshot and I wish I had written down some details about what it represented according to the episode’s plot :


    Alias: Public key

    Click for larger image


    It almost sounds like they were trying to break into a network computer. Analyzing MD5 structure… public key synthesized. To me, the funniest feature is the 7-digit public key. I’m a bit rusty on the math of the RSA cryptosystem, but intuitively, it seems that the public and private keys need to be of roughly equal lengths. I.e., the private key in this scenario would also be 7 digits long.

    Gadgets
    Various devices and gadgets were seen at various junctures in the show. Here’s a tablet computer from back when tablet computers seemed like fantastical (albeit stylus-requiring) devices– the Fujitsu Stylistic 2300 :


    Alias: Fujitsu Stylistic 2300 tablet

    Click for larger image


    Here’s a videophone from an episode that aired in 2005. The specific model is the Packet8 DV326 (MSRP of US$500). As you can see from the screenshot, it can do 384 kbps both down and up.


    Alias: Packet8 DV326

    Click for larger image


    I really regret not writing down the episode details surrounding this gadget. I just know that it was critical that the good guys get it and keep from falling into the hands of the bad guys.


    Alias: Gadget using Samsung and Lexar chips

    Click for larger image


    As you can see, the (presumably) deadly device contains a Samsung chip and a Lexar chip. I have to wonder what device the production crew salvaged this from (probably just an old cell phone).

    Other Programs

    The GIMP photo editor makes an appearance while scrubbing security camera footage, and serves as the magical Enhance Button (at least they slung around the term “gamma”) :


    Alias: GIMP editor

    Click for larger image


    I have no idea what MacOS-based audio editing program this is. Any ideas ?


    Alias: Apple MacOS-based audio editor

    Click for larger image


    FTP shows up in episode 2.12, “The Getaway”. It’s described as a “secure channel” for communication, which is quite humorous to anyone versed in internet technology.


    Alias: FTP secure channel

    Click for larger image


  • Problems accessing codecs with ggplot and gganimate

    19 décembre 2016, par noLongerRandom

    Using gganimate. Can’t figure out how to properly access functionality of ffmpeg, specifically I want to change the codec I’m using in the video file I’m outputting.

    # load packages
    library(ggplot)
    library(animation)
    library(gganimate)

    # Here's my data.frame
    myDf &lt;- data.frame(
       year = c(1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014),
       bottom50 = c(0.195, 0.191, 0.187, 0.192, 0.196, 0.205, 0.207, 0.210, 0.209, 0.204, 0.203, 0.204, 0.205, 0.203, 0.202, 0.200, 0.200, 0.201, 0.199, 0.195, 0.190, 0.183, 0.179, 0.179, 0.177, 0.172, 0.169, 0.169, 0.168, 0.166, 0.158, 0.159, 0.158, 0.154, 0.151, 0.148, 0.149, 0.148, 0.146, 0.149, 0.148, 0.145, 0.142, 0.138, 0.135, 0.137, 0.137, 0.136, 0.130, 0.127, 0.123, 0.127, 0.125), top1 = c(0.126, 0.127, 0.129, 0.128, 0.126, 0.123, 0.122, 0.115, 0.110, 0.111, 0.111, 0.109, 0.106, 0.105, 0.105, 0.107, 0.108, 0.111, 0.107, 0.110, 0.112, 0.115, 0.125, 0.125, 0.122, 0.133, 0.149, 0.145, 0.145, 0.139, 0.150, 0.146, 0.147, 0.153, 0.160, 0.166, 0.169, 0.177, 0.183, 0.173, 0.171, 0.172, 0.183, 0.194, 0.201, 0.199, 0.195, 0.185, 0.198, 0.196, 0.208, 0.196, 0.202)
    )

    #Basic plot
    p &lt;- ggplot(myDf, aes(x = year, y = bottom50, frame = year)) +
       geom_line(color = "dodgerblue") +
       geom_line(aes(y = top1), color = "darkred")

    The non-animated version gets me what I want :

    enter image description here

    And I get an animation version output to video with :

    gganimate(p, interval = .1, title_frame = FALSE, "income.mp4")

    That’s fine, but I want to change some the output parameters, specifically : alter the dimensions, the frame rate, and use a different codec.

    # change some of the options
    ani.options(ani.height = 1080, ani.width = 1920,
               interval = 0.04166667, other.opts = "-vcodec qtrle -f mov")
    # re-animate
    gganimate(p, title_frame = FALSE, "income.mov")

    That gives me the following error :

    Error in animation_saver(saver, filename) :
     Don't know how to save animation of type mov

    I’m using ’.mov’ as my file extension because I’m trying to change to the Animation codec (so it’s no longer a .mp4 wrapper). I’ve got ffmpeg installed, so this is probably a syntax issue. But the documentation isn’t very clear here ; gganimate doesn’t have any documentation on changing codecs (or outputting any video besides an mp4), and the animation package is light on specifics as well.