Recherche avancée

Médias (91)

Autres articles (92)

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

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (10121)

  • Senior Software Engineer for Enterprise Analytics Platform

    28 janvier 2016, par Matthieu Aubry — Uncategorized

    We’re looking for a lead developer to work on Piwik Enterprise Analytics core platform software. We have some exciting challenges to solve and need you !

    You’ll be working with both fellow employees and our open-source community. Piwik staff lives in New Zealand, Europe (Poland, Germany) and in the U.S. We do the vast majority of our collaboration online.

    We are a small, flexible team, so when you come aboard, you will play an integral part in engineering. As a leader you’ll help us to prioritise work and grow our community. You’ll help to create a welcoming environment for new contributors and set an example with your development practices and communications skills. You will be working closely with our CTO to build a future for Piwik.

    Key Responsibilities

    • Strong competency coding in PHP and JavaScript.
    • Scaling existing backend system to handle ever increasing amounts of traffic and new product requirements.
    • Outstanding communication and collaboration skills.
    • Drive development and documentation of internal and external APIs (Piwik is an open platform).
    • Help make our development practices better and reduce friction from idea to deployment.
    • Mentor junior engineers and set the stage for personal growth.

    Minimum qualifications

    • 5+ years of experience in product development, security, usable interface design.
    • 5+ years experience building successful production software systems.
    • Strong competency in PHP5 and JavaScript application development.
    • Skill at writing tests and reviewing code.
    • Strong analytical skills.

    Location

    • Remote work position !
    • or you can join us in our office based in Wellington, New Zealand or in Wrocław, Poland.

    Benefits

    • Competitive salary.
    • Remote work is possible.
    • Yearly meetup with the whole team abroad.
    • Be part of a successful open source company and community.
    • In our Wellington (NZ) and Wroclaw (PL) offices : snacks, coffee, nap room, Table football, Ping pong…
    • Regular events.
    • Great team of people.
    • Exciting projects.

    Learn more

    Learn more what it’s like to work on Piwik in our blog post

    About Piwik

    At Piwik we develop the leading open source web analytics platform, used by more than one million websites worldwide. Our vision is to help the world liberate their analytics data by building the best open alternative to Google Analytics.

    The Piwik platform collects, stores and processes a lot of information : hundreds of millions of data points each month. We create intuitive, simple and beautiful reports that delight our users.

    Apply online

    To apply for this position, please Apply online here. We look forward to receiving your applications !

  • How to parse ffmpeg -list_options output to get complete list of formats ?

    9 octobre 2024, par gaamaa

    On my Windows 10, application I use VB6 and ffmpeg.exe to capture video from USB capture device.
I need to show complete list of supported formats by this capture card.

    


    When I use below command I get some list.
But its looks incomplete for me.

    


    
    ffmpeg -f dshow -list_options true -i video="USB3. 0 capture"



    


    Result :

    


    USB3. 0 capture:
 Q:\FFMpeg VB6\f2>ffmpeg -f dshow -list_options true -i video="USB3. 0 capture"
[dshow @ 087d7480] DirectShow video device options (from video devices)
[dshow @ 087d7480]  Pin "Capture" (alternative pin name "0")
vcodec=mjpeg  min s=1920x1080 fps=10 max s=1920x1080 fps=60.0002
vcodec=mjpeg  min s=1920x1080 fps=10 max s=1920x1080 fps=60.0002
vcodec=mjpeg  min s=1600x1200 fps=10 max s=1600x1200 fps=60.0002
vcodec=mjpeg  min s=1600x1200 fps=10 max s=1600x1200 fps=60.0002
vcodec=mjpeg  min s=1360x768 fps=10 max s=1360x768 fps=60.0002
vcodec=mjpeg  min s=1360x768 fps=10 max s=1360x768 fps=60.0002
vcodec=mjpeg  min s=1280x1024 fps=10 max s=1280x1024 fps=60.0002
vcodec=mjpeg  min s=1280x1024 fps=10 max s=1280x1024 fps=60.0002
vcodec=mjpeg  min s=1280x960 fps=10 max s=1280x960 fps=60.0002
vcodec=mjpeg  min s=1280x960 fps=10 max s=1280x960 fps=60.0002
vcodec=mjpeg  min s=1280x720 fps=10 max s=1280x720 fps=60.0002
vcodec=mjpeg  min s=1280x720 fps=10 max s=1280x720 fps=60.0002
vcodec=mjpeg  min s=1024x768 fps=10 max s=1024x768 fps=60.0002
vcodec=mjpeg  min s=1024x768 fps=10 max s=1024x768 fps=60.0002
vcodec=mjpeg  min s=800x600 fps=10 max s=800x600 fps=60.0002
vcodec=mjpeg  min s=800x600 fps=10 max s=800x600 fps=60.0002
vcodec=mjpeg  min s=720x576 fps=10 max s=720x576 fps=60.0002
vcodec=mjpeg  min s=720x576 fps=10 max s=720x576 fps=60.0002
vcodec=mjpeg  min s=720x480 fps=10 max s=720x480 fps=60.0002
vcodec=mjpeg  min s=720x480 fps=10 max s=720x480 fps=60.0002
vcodec=mjpeg  min s=640x480 fps=10 max s=640x480 fps=60.0002
vcodec=mjpeg  min s=640x480 fps=10 max s=640x480 fps=60.0002
pixel_format=yuyv422  min s=1280x720 fps=10 max s=1280x720 fps=10
pixel_format=yuyv422  min s=1280x720 fps=10 max s=1280x720 fps=10
pixel_format=yuyv422  min s=1920x1080 fps=5 max s=1920x1080 fps=5
pixel_format=yuyv422  min s=1920x1080 fps=5 max s=1920x1080 fps=5
pixel_format=yuyv422  min s=1600x1200 fps=5 max s=1600x1200 fps=5
pixel_format=yuyv422  min s=1600x1200 fps=5 max s=1600x1200 fps=5
pixel_format=yuyv422  min s=1360x768 fps=8 max s=1360x768 fps=8
pixel_format=yuyv422  min s=1360x768 fps=8 max s=1360x768 fps=8
pixel_format=yuyv422  min s=1280x1024 fps=8 max s=1280x1024 fps=8
pixel_format=yuyv422  min s=1280x1024 fps=8 max s=1280x1024 fps=8
pixel_format=yuyv422  min s=1280x960 fps=8 max s=1280x960 fps=8
pixel_format=yuyv422  min s=1280x960 fps=8 max s=1280x960 fps= 8
pixel_format=yuyv422  min s=1024x768 fps=10 max s=1024x768 fps=10
pixel_format=yuyv422  min s=1024x768 fps=10 max s=1024x768 fps=10
pixel_format=yuyv422  min s=800x600 fps=5 max s=800x600 fps=20
pixel_format=yuyv422  min s=800x600 fps=5 max s=800x600 fps=20
pixel_format=yuyv422  min s=720x576 fps=5 max s=720x576 fps=25
pixel_format=yuyv422  min s=720x576 fps=5 max s=720x576 fps=25
pixel_format=yuyv422  min s=720x480 fps=5 max s=720x480 fps=30
pixel_format=yuyv422  min s=720x480 fps=5 max s=720x480 fps=30
pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps=30
pixel_format=yuyv422  min s=640x480 fps=5 max s=640x480 fps=30


    


    My question is :

    


    How to get the proper list in-between min and max ?

    


    Eg :
Please see the below 4 lines.

    


     vcodec=mjpeg  min s=1920x1080 fps=10 max s=1920x1080 fps=60.0002
 vcodec=mjpeg  min s=1920x1080 fps=10 max s=1920x1080 fps=60.0002
 vcodec=mjpeg  min s=1600x1200 fps=10 max s=1600x1200 fps=60.0002
 vcodec=mjpeg  min s=1600x1200 fps=10 max s=1600x1200 fps=60.0002


    


    It says
min fps=10
max fps=60.0002

    


    Actually it supports below fps :

    


    fps=10.00,
fps=20.00,
fps=25.00,
fps=30.00,
fps=50.00,
fps=60.00


    


    How to guess and get the hidden list like : 20, 25, 30 and 50 ?
If I blindly make a list from guessed values,
Some format doesn't have fps=25 on the list and ffmpeg throw error !

    


    Note :
I can not use C++ or .NET to dig further.
Please suggest me some trick to get the proper list from ffmpeg commands only.
Or any universal guess !

    


    enter image description here

    


  • FFmpeg what is the correct way to manually write silence through pipe:0 ?

    19 juillet 2023, par Bohdan Petrenko

    I have an ffmpeg process running with this parameters :

    


    ffmpeg -y -f s16le -ac {Channels} -ar 48000 -re -use_wallclock_as_timestamps true -i pipe:0 -f segment -segment_time {_segmentSize} -segment_list \"{_segmentListPath}\" -segment_format mp3 -segment_wrap 2 -reset_timestamps 0 -af aresample=async=1 \"{_filePath}\"


    


    I also have a DateTimeOffsetwhich represents the time when the recording was started. When an FFMpeg process is created, I need to add some some amount of silence that equals to the delay between current time and when the recording was started. This delay may be bigger than ffmpeg segments, so I calculate it relatively to the time when last ffmpeg segment should begin.
I store silence in a static byte array with length of two ffmpeg segments :

    


    _silenceBuffer ??= new byte[_segmentSize * 2 * Channels * SampleRate * 2];


    


    I tried two ways of writing silence :

    


    First code I tried is this :

    


    var delay = DateTimeOffset.UtcNow - RecordingStartDateTime;

var time = CalculateRelativeMilliseconds(delay.TotalMilliseconds); // this returns time based on current segment. It works fine.

var amount = (int)(time * 2 * Channels * SampleRate / 1000);

WriterStream.Write(_silenceBuffer, 0, amount);


    


    As the result, I have a very loud noise everywhere in output from ffmpeg. It brokes audio, so this way doesn't work for me.

    


    Second code I tried is this :

    


    var delay = DateTimeOffset.UtcNow - RecordingStartDateTime;

var time = CalculateRelativeMilliseconds(delay.TotalMilliseconds); // this returns time based on current segment. It works fine.

var amount = (int)time * 2 * Channels * SampleRate / 1000;

WriterStream.Write(_silenceBuffer, 0, amount);


    


    Difference between first and second code is that now I cast only time to int type, not the result of the whole expression. But it also doesn't work. This time at the beginning I have no silence I wrote, the recording begins with voice data I piped after writing silence. But if I use this ffmpeg command :

    


    ffmpeg -y -f s16le -ac {Channels} -ar 48000 -i pipe:0 -f segment -segment_time {_segmentSize} -segment_list \"{_segmentListPath}\" -segment_format mp3 -segment_wrap 2 -reset_timestamps 0 \"{_filePath}\"


    


    Then it works as expected. Recording begins with silence what I need, and then goes voice data I piped.

    


    So, how can I manually calculate and write silence to my ffmpeg instance ? Is there some universal way of writing and calculating silence that will work with any ffmpeg command ? I don`t want to use filters and other ffmpeg instances for offsetting piped voice data, because I do it only once per session. I think that I can write silence with byte arrays. I look forward to any suggestions.