Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

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

Autres articles (58)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (10241)

  • Presentation of Piwik’s collaborative translations platform : oTrance [Interview]

    19 avril 2013, par matt — Community, translation

    thank-you-around-worldPiwik enables domain administrators, hobbyists, power users, personal website builders and everyone in between to access enormous amounts of data for website analytics. To support all those users, Piwik needs to be available in a number of different languages. From the start, we made internationalization (i18n) part of Piwik’s DNA. There are now dozens active volunteers who help make sure each language is well represented in the latest official release of Piwik. As of now, Piwik is available in 48 languages.

    Recently a new tool became available that makes the translation of Piwik much easier. The software we are using is an open source platform called oTrance. It has made our translation architecture more robust, and it allows us to expedite the timely delivery of high quality and up-to-date translations to the thousands of people who rely on Piwik every day.

    We’ve met with oTrance creator and lead developer Daniel Schlichtholz who answered a few questions for us.

    What is oTrance ?

    oTranCe is the short form of “Online Translation Center”. It was born because I needed a translation platform for my project MySQLDumper.

    Many languages have been added by the community and manual maintenance became more and more time consuming. I wanted to change that. So I searched for an existing platform I could use and tested a lot of approaches. To put a long story short : none of the given solutions satisfied my needs.

    From the view of a translator maintaining a language should be as easy as possible. In most cases they have to install a program on their local machine or the workflow was too difficult. A translator doesn’t want to struggle with technical things ; he just wants to translate the phrases and wants to know the progress.

    That’s the main goal we want to reach : to make the translation process as easy as possible.

    What sets oTrance apart from the other ways to manage translations ?

    Ease of use is one advantage of oTranCe compared to other solutions. Another advantage is that project administrators can install oTranCe on their own server – so nobody is dependant of a third party provider.

    We love to get feedback from other users. User feedback influences the way oTranCe is developed. We believe that this way oTranCe satisfies the requirements of the real world.

    We also have extensive user documentation, in our “Working with oTranCe” wiki. We try to document use cases in an understandable way. We don’t write down marketing buzz words, but try to explain the use from the view of the user/administrator.

    Now that oTranCe 1.0 is out, what will you be working on next ?

    The language files can be exported to version control and oTranCe can commit changes to the target repository. Currently we support export to Subversion, and we are working on a Git export adapter, which will be released soon.

    Another issue we are trying to solve is the context problem. When your project uses many different phrases the translator often doesn’t know in which context the current phrase is used. Version 1.1.0 (not released yet, but you can grab the latest developer version from GitHub) introduces the oTranCe-connector. The idea behind it : a small plug in grabs the used phrases/keys on the current page, and on click this list is submitted to oTranCe, where the translator can edit the words. This way the translator knows in which context these phrases are used. I wrote a small plug in for OXID eShop. Since it is really easy to implement, my hope is that other plug ins for other applications will be added by the community.

    Matthieu : Congratulations Daniel for having created such an awesome Translation Platform. At Piwik we are really thankful for oTranCe, which has resulted in much better translation process, and happier translators. Keep up the good work !

    If you are a Piwik user, and if you want to participate in translating Piwik, please sign up for an account on oTrance and become part of the team making Piwik available in more languages across the world.

  • nginx : [emerg] invalid port in url "http://192.168.0.100:80/live" in nginx.conf - Restreaming OBS to LAN

    17 novembre 2018, par popek069

    I want to restream OBS to LAN. So I set up nginx server. The server receive stream from OBS using RTMP and restreams it to HTTP to view from another device.
    Streaming from OBS works, but when I start nginx I get an error

    PS C:\Users\popek\Downloads\nginx> .\nginx.exe -s reload
    nginx: [emerg] invalid port in url "http://192.168.0.100:80/live" in C:\Users\popek\Downloads\nginx/conf/nginx.conf:187

    I’m new to nginx and I’m running Windows 10, nginx server and OBS are on the same pc with ip 192.168.0.100
    I’d like to also reencode stream using ffmpeg if it’s possible. I know ffmpeg, I don’t know only how to set input and output.

    Config : (nginx.conf)

    #user  nobody;
    # multiple workers works !
    worker_processes  2;

    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;

    #pid        logs/nginx.pid;


    events {
       worker_connections  8192;
       # max value 32768, nginx recycling connections+registry optimization =
       #   this.value * 20 = max concurrent connections currently tested with one worker
       #   C1000K should be possible depending there is enough ram/cpu power
       # multi_accept on;
    }


    http {
       #include      /nginx/conf/naxsi_core.rules;
       include       mime.types;
       default_type  application/octet-stream;

       #log_format  main  '$remote_addr:$remote_port - $remote_user [$time_local] "$request" '
       #                  '$status $body_bytes_sent "$http_referer" '
       #                  '"$http_user_agent" "$http_x_forwarded_for"';

       #access_log  logs/access.log  main;

    #     # loadbalancing PHP
    #     upstream myLoadBalancer {
    #         server 127.0.0.1:9001 weight=1 fail_timeout=5;
    #         server 127.0.0.1:9002 weight=1 fail_timeout=5;
    #         server 127.0.0.1:9003 weight=1 fail_timeout=5;
    #         server 127.0.0.1:9004 weight=1 fail_timeout=5;
    #         server 127.0.0.1:9005 weight=1 fail_timeout=5;
    #         server 127.0.0.1:9006 weight=1 fail_timeout=5;
    #         server 127.0.0.1:9007 weight=1 fail_timeout=5;
    #         server 127.0.0.1:9008 weight=1 fail_timeout=5;
    #         server 127.0.0.1:9009 weight=1 fail_timeout=5;
    #         server 127.0.0.1:9010 weight=1 fail_timeout=5;
    #         least_conn;
    #     }

       sendfile        off;
       #tcp_nopush     on;

       server_names_hash_bucket_size 128;

    ## Start: Timeouts ##
       client_body_timeout   10;
       client_header_timeout 10;
       keepalive_timeout     30;
       send_timeout          10;
       keepalive_requests    10;
    ## End: Timeouts ##

       #gzip  on;

       server {
           #listen       80;
           server_name  localhost;

           #charset koi8-r;

           #access_log  logs/host.access.log  main;

           ## Caching Static Files, put before first location
           #location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
           #    expires 14d;
           #    add_header Vary Accept-Encoding;
           #}

    # For Naxsi remove the single # line for learn mode, or the ## lines for full WAF mode
           location / {
               #include    /nginx/conf/mysite.rules; # see also http block naxsi include line
               ##SecRulesEnabled;
                 ##DeniedUrl "/RequestDenied";
                 ##CheckRule "$SQL >= 8" BLOCK;
                 ##CheckRule "$RFI >= 8" BLOCK;
                 ##CheckRule "$TRAVERSAL >= 4" BLOCK;
                 ##CheckRule "$XSS >= 8" BLOCK;
               root   html;
               index  index.html index.htm;
           }

    # For Naxsi remove the ## lines for full WAF mode, redirect location block used by naxsi
           ##location /RequestDenied {
           ##    return 412;
           ##}

    ## Lua examples !
    #         location /robots.txt {
    #           rewrite_by_lua '
    #             if ngx.var.http_host ~= "localhost" then
    #               return ngx.exec("/robots_disallow.txt");
    #             end
    #           ';
    #         }

           #error_page  404              /404.html;

           # redirect server error pages to the static page /50x.html
           #
           error_page   500 502 503 504  /50x.html;
           location = /50x.html {
               root   html;
           }

           # proxy the PHP scripts to Apache listening on 127.0.0.1:80
           #
           #location ~ \.php$ {
           #    proxy_pass   http://127.0.0.1;
           #}

           # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
           #
           #location ~ \.php$ {
           #    root           html;
           #    fastcgi_pass   127.0.0.1:9000; # single backend process
           #    fastcgi_pass   myLoadBalancer; # or multiple, see example above
           #    fastcgi_index  index.php;
           #    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           #    include        fastcgi_params;
           #}

           # deny access to .htaccess files, if Apache's document root
           # concurs with nginx's one
           #
           #location ~ /\.ht {
           #    deny  all;
           #}
       }


       # another virtual host using mix of IP-, name-, and port-based configuration
       #
       #server {
       #    listen       8000;
       #    listen       somename:8080;
       #    server_name  somename  alias  another.alias;

       #    location / {
       #        root   html;
       #        index  index.html index.htm;
       #    }
       #}


       # HTTPS server
       #
       #server {
       #    listen       443 ssl spdy;
       #    server_name  localhost;

       #    ssl                  on;
       #    ssl_certificate      cert.pem;
       #    ssl_certificate_key  cert.key;

       #    ssl_session_timeout  5m;

       #    ssl_prefer_server_ciphers On;
       #    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       #    ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:ECDH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!eNULL:!MD5:!DSS:!EXP:!ADH:!LOW:!MEDIUM;

       #    location / {
       #        root   html;
       #        index  index.html index.htm;
       #    }
       #}

    }


    rtmp {
           server {
                   listen 1935;
                   chunk_size 4096;

                   application live {
                           live on;
                           record off;
                           hls on;
                           push http://192.168.0.100:80/live ;
                   }
           }
    }
  • How to set individual image display durations with ffmpeg-python

    20 septembre 2022, par tompi

    I am using ffmpeg-python 0.2.0 with Python 3.10.0. Displaying videos in VLC 3.0.17.4.

    


    I am making an animation from a set of images. Each image is displayed for different amount of time.

    


    I have the basics in place with inputting images and concatenating streams, but I can't figure out how to correctly set frame duration.

    


    Consider the following example :

    


    stream1 = ffmpeg.input(image1_file)
stream2 = ffmpeg.input(image2_file)
combined_streams = ffmpeg.concat(stream1, stream2)
output_stream = ffmpeg.output(combined_streams, output_file)
ffmpeg.run(output_stream)


    


    With this I get a video with duration of a split second that barely shows an image before ending. Which is to be expected with two individual frames.

    


    For this example, my goal is to have a video of 5 seconds total duration, showing the image in stream1 for 2 seconds and the image in stream2 for 3 seconds.

    


    Attempt 1 : Setting t for inputs

    


    stream1 = ffmpeg.input(image1_file, t=2)
stream2 = ffmpeg.input(image2_file, t=3)
combined_streams = ffmpeg.concat(stream1, stream2)
output_stream = ffmpeg.output(combined_streams, output_file)
ffmpeg.run(output_stream)


    


    With this, I get a video with the duration of a split second and no image displayed.

    


    Attempt 2 : Setting frames for inputs

    


    stream1 = ffmpeg.input(image1_file, frames=48)
stream2 = ffmpeg.input(image2_file, frames=72)
combined_streams = ffmpeg.concat(stream1, stream2)
output_stream = ffmpeg.output(combined_streams, output_file, r=24)
ffmpeg.run(output_stream)


    


    In this case, I get the following error from ffmpeg :

    


    Option frames (set the number of frames to output) cannot be applied to input url ########## -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.


    


    I can't tell if this is a bug in ffmpeg-python or if I did it wrong.

    


    Attempt 3 : Setting framerate for inputs

    


    stream1 = ffmpeg.input(image1_file, framerate=1/2)
stream2 = ffmpeg.input(image2_file, framerate=1/3)
combined_streams = ffmpeg.concat(stream1, stream2)
output_stream = ffmpeg.output(combined_streams, output_file)
ffmpeg.run(output_stream)


    


    With this, I get a video with the duration of a split second and no image displayed. However, when I set both framerate values to 1/2, I get an animation of 4 seconds duration that displays the first image for two seconds and the second image for two seconds. This is the closest I got to a functional solution, but it is not quite there.

    


    I am aware that multiple images can be globbed by input, but that would apply the same duration setting to all images, and my images each have different durations, so I am looking for a different solution.

    


    Any ideas for how to get ffmpeg-python to do the thing is much appreciated.