Recherche avancée

Médias (91)

Autres articles (43)

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

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, 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 (...)

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

Sur d’autres sites (7245)

  • Encoding of two full hd streams in Linux + GPU with Intel HD4000 / VA API / FFMPEG / OpenGL

    27 juin 2017, par qknight

    i want to encode/stream two full hd streams in realtime from my laptop to a remote location using linux/xorg on the host.

    VA API

    for this i’ve been playing with the VA API but the performance is pretty bad with 5.59 fps (see paste below).

    FFMPEG

    using ffmpeg with CPU encoding i get about 200 fps but then all cores of my Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz are busy and the fan turns on.

    future plans

    i want GPU support in encoding and later integrate this into a program which streams a virtual xorg ’screen’, see https://lastlog.de/wiki/index.php/Raspberry_PI_virtual_screen for more details on my plans.

    maybe h264 isn’t even what i want ? so if someone advices towards a different implementation, i’d welcome that.

    besides VA API there seems to be QuickSync but i didn’t experiment with that yet as it is not packaged on NixOS just yet.

    note : i need a library to have a smooth integration into the code.

    h264encode -w 1920 -h 1080 —profile MPSource frame is 1920x1080 and will code clip to 1920x1088 with crop
    

    INPUT:Try to encode H264...
    INPUT : Resolution : 1920x1080, 60 frames
    INPUT : FrameRate : 30
    INPUT : Bitrate : 14929920
    INPUT : Slieces : 1
    INPUT : IntraPeriod : 30
    INPUT : IDRPeriod : 60
    INPUT : IpPeriod : 1
    INPUT : Initial QP : 26
    INPUT : Min QP : 0
    INPUT : Source YUV : AUTO generated
    INPUT : Coded Clip : /tmp/test.264
    INPUT : Rec Clip : Not save reconstructed frame

    libva info : VA-API version 0.38.1
    libva info : va_getDriverName() returns 0
    libva info : Trying to open /run/opengl-driver/lib/dri/i965_drv_video.so
    libva info : Found init function __vaDriverInit_0_38
    libva info : va_openDriver() returns 0
    Use profile VAProfileH264Main
    Support rate control mode (0x12):CBR CQP
    RateControl mode : CQP
    Support VAConfigAttribEncPackedHeaders
    Support packed sequence headers
    Support packed picture headers
    Support packed slice headers
    Support packed misc headers
    Support 1 RefPicList0 and 1 RefPicList1
    Loading data into surface 15.....Complete surface loading
    \00000059(054456 bytes coded)

    PERFORMANCE : Frame Rate : 5.59 fps (60 frames, 10730 ms (178.83 ms per frame))
    PERFORMANCE : Compression ratio : 51:1
    PERFORMANCE : UploadPicture : 10467 ms (174.45, 97.55% percent)
    PERFORMANCE : vaBeginPicture : 0 ms (0.00, 0.00% percent)
    PERFORMANCE : vaRenderHeader : 1 ms (0.02, 0.01% percent)
    PERFORMANCE : vaEndPicture : 42 ms (0.70, 0.39% percent)
    PERFORMANCE : vaSyncSurface : 244 ms (4.07, 2.27% percent)
    PERFORMANCE : SavePicture : 7 ms (0.12, 0.07% percent)
    PERFORMANCE : Others : -31 ms (71582787.75, 40027653.91% percent)
    (Multithread enabled, the timing is only for reference)

    i’ve seen https://www.reddit.com/r/linux/comments/1qk1yu/is_there_currently_opensource_software_to_encode/ though but i’m not sure what do do with it.

  • How to pipe Picamera video to FFMPEG with subprocess (Python)

    31 juillet 2017, par VeniVidiReliqui

    I see a ton of info about piping a raspivid stream directly to FFMPEG for encoding, muxing, and restreaming but these use cases are mostly from bash ; similar to :

    raspivid -n -w 480 -h 320 -b 300000 -fps 15 -t 0 -o - | ffmpeg -i - -f mpegts udp ://192.168.1.2:8090ffmpeg

    I’m hoping to utilize the functionality of the Picamera library so I can do concurrent processing with OpenCV and similar while still streaming with FFMPEG. But I can’t figure out how to properly open FFMPEG as subprocess and pipe video data to it. I have seen plenty of attempts, unanswered posts, and people claiming to have done it, but none of it seems to work on my Pi.

    Should I create a video buffer with Picamera and pipe that raw video to FFMPEG ? Can I use camera.capture_continuous() and pass FFMPEG the bgr24 images I’m using for my OpenCV calculation ?

    I’ve tried all sorts of variations and I’m not sure if I’m just misunderstanding how to use the subprocess module, FFMPEG, or I’m simply missing a few settings. I understand the raw stream won’t have any metadata, but I’m not completely sure what settings I need to give FFMPEG for it to understand what I’m giving it.

    I have a Wowza server I’ll eventually be streaming to, but I’m currently testing by streaming to a VLC server on my laptop. I’ve currently tried this :

    import subprocess as sp
    import picamera
    import picamera.array
    import numpy as np

    npimage = np.empty(
           (480, 640, 3),
           dtype=np.uint8)
    with picamera.PiCamera() as camera:
       camera.resolution = (640, 480)
       camera.framerate = 24

       camera.start_recording('/dev/null', format='h264')
       command = [
           'ffmpeg',
           '-y',
           '-f', 'rawvideo',
           '-video_size', '640x480',
           '-pix_fmt', 'bgr24',
           '-framerate', '24',
           '-an',
           '-i', '-',
           '-f', 'mpegts', 'udp://192.168.1.54:1234']
       pipe = sp.Popen(command, stdin=sp.PIPE,
                       stdout=sp.PIPE, stderr=sp.PIPE, bufsize=10**8)
       if pipe.returncode != 0:
           output, error = pipe.communicate()
           print('Pipe failed: %d %s %s' % (pipe.returncode, output, error))
           raise sp.CalledProcessError(pipe.returncode, command)

       while True:
           camera.wait_recording(0)
           for i, image in enumerate(
                           camera.capture_continuous(
                               npimage,
                               format='bgr24',
                               use_video_port=True)):
               pipe.stdout.write(npimage.tostring())
       camera.stop_recording()

    I’ve also tried writing the stream to a file-like object that simply creates the FFMPEG subprocess and writes to the stdin of it (camera.start_recording() can be given an object like this when you initialize the picam) :

    class PipeClass():
       """Start pipes and load ffmpeg."""

       def __init__(self):
           """Create FFMPEG subprocess."""
           self.size = 0
           command = [
               'ffmpeg',
               '-f', 'rawvideo',
               '-s', '640x480',
               '-r', '24',
               '-i', '-',
               '-an',
               '-f', 'mpegts', 'udp://192.168.1.54:1234']

           self.pipe = sp.Popen(command, stdin=sp.PIPE,
                            stdout=sp.PIPE, stderr=sp.PIPE)

           if self.pipe.returncode != 0:
               raise sp.CalledProcessError(self.pipe.returncode, command)

       def write(self, s):
           """Write to the pipe."""
           self.pipe.stdin.write(s)

       def flush(self):
           """Flush pipe."""
           print("Flushed")

    usage:
    (...)
    with picamera.PiCamera() as camera:
       p = PipeClass()
       camera.start_recording(p, format='h264')
    (...)

    Any assistance with this would be amazing !

  • A *hot* Piwik Community Meetup 2015 !

    10 août 2015 — Community

    Last weekend I arrived in Germany to attend the Piwik Community Meetup 2015 and now I am in Poland. I joined Piwik PRO back in May as enterprise support project coordinator in North America. I am now writing this from the Piwik PRO main office in Wrocław, where I’ll be working from for the next two weeks.

    The meetup was HOT in every sense ! Berlin temperatures reached 35 degrees (celsius), as I finally meet in person several long-time, dedicated Piwik community contributors.

    Meetup preparation in Berlin, photo by M. Zawadziński, licensed under CC-BY-SA 4.0

    Pictures from the meetup preparation sessions

    In the first leg of my trip I was in Berlin to meet Piwik community members and Piwik PRO staff to prepare for the 2015 annual Piwik community meetup. These are my notes taken during the meeting at the request of one of my colleagues. I also relayed live on Framasphère, Twitter and IRC.

    Community discussion at the meetup, photo by D.Czajka, licensed under CC-BY-SA 4.0

    More pictures from the Piwik meetup

    This was harder than I expected, as I took notes with my laptop, pictures with my phone, wrote live to social media (using the Android Diaspora Native Web App), and used my laptop to relay on IRC. Going forward this requires better preparation, I was glad I had a few links and pictures ready before hand but it really requires intense focus to achieve this. I am glad presenters were patient when I requested repeating some of the ideas they shared. I am also a bit disappointed not much happened in IRC.

    Two day preparation sessions

    The discussions and session we had during the two days prior to the meetup are available here.

    We gathered in rented apartments in Berlin, this reminded me very much of similar community gatherings and perhaps of BarCamp and, at a much smaller scale, UDS sessions.

    Piwik Pizza !, photo by F. Rodríguez, licensed under CC-BY-SA 4.0

    A list of ideas of topics was initially submitted, we then proceeded to have scheduled sessions for open discussion. Several people shared their concern there was no possible remote participation which led to making public the Trello boards used/linked here.

    Note : The Trello links below still have action items and notes that are pending bug report / feature requests filing which should happen over the coming weeks. Most importantly, many action items will need identifying leads for different community team including Translations and Documentation, and better coordination of coming community engagement.

    Monday sessions consisted of the following subjects :

    On Tuesday we met again to discuss the following subjects :

    Some more details about individual preparation sessions

    What are Piwik values & how to communicate them ?

    The main subjects in this session were important changes proposed in the project mission and values. This was edited directly on on the wiki page on GitHub, some of the changes can be seen by comparing revisions.

    Piwik mission statement (bug #7376)

    “To create the leading Free and open source analytics platform, and to support global organisations and communities to keep full control over their data.”

    Our values

    • Openness
    • Freedom
    • Transparency
    • Data ownership
    • Privacy
    • Kaizen (改善) : continuous improvement

    This was also presented by Matthieu Aubry at the meetup and is published in the Roadmap page. Bringing more visibility and perhaps having a top page for Mission and Values was also brought up.

    Meetup agenda and notes

    The official agenda is available here.

    Many Piwik PRO employees stayed in Berlin for the meetup, and we had good participation although less than last year in Munich as my colleagues told me. Some were consultants, others staff from public organizations, universities, etc. In retrospect considering the very hot weather and summer holidays the attendance was good. I was very happy to arrive at the beautiful Kulturbrauerei and enter the air-conditioned Soda Club. T-Shirts were waiting for all attendees and free drinks (non-alcohol !) were welcome