Recherche avancée

Médias (91)

Autres articles (102)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

Sur d’autres sites (8135)

  • How to synchronise two audio files using a marker

    30 juillet 2014, par Dimitri Jorge

    I’m working on a project on which we use WebRTC and the RecordRTC library to record audio files.

    I would like to be able to process the audio files server-side to ensure a good synchronisation.

    To do so, I’m thinking about marking the start of each record with an inaudible sound marker in order to analyse new records and then manipulate the starting offset with ffmpeg (which I already use to compress the raw files created by RecordRTC).

    The thing is I’ve never done any advanced audio processing before, I’m looking around and cannot find what would be the proper way to do this.

    Is there another, better, way to handle synchronisation ? And if not, I would be grateful if I could get some tips on the marker technique.
    Thank you.

    Edit :
    I forgot to mention for those who don’t know how RecordRTC works that the record is done client-side in Javascript. The synchronisation issue comes from the fact that javascript is not good at synchronising calls.

    The process is done as follow :

    1) A user records himself

    [User 1] -> Records on his browser an audio file
      |
      | Saves raw audio file (call it audio_1.ogg)
      |
    [Server]

    2) Another user wants to join user_1’s project

    [User 2]  <--- Fetch audio_1.ogg (in an audio html tag) --- [Server]
      |
      | Press record
      |
    [Webapp] -> Plays audio_1.ogg and starts recording audio_2.ogg
      |
      | Saves audio_2.ogg when record is over
      |
    [Server]

    The synchronisation issue comes from the fact that there are no way in Javascript to ensure that both the functions handling that starts record and the one responsible for beginning playing the existing audio file happen on the same time.

    I end up with 50/100 ms of gap depending on how many audio files are already on the project (since it’s not limited to two).

  • ffmpeg : drop in sound multiple times at random intervals

    7 septembre 2022, par CoderPadwan

    I have a 2 MP3 files, one is 10 minutes long and another track that is 1 second long. I would like to merge these tracks into a new file that plays the 1 second track at random intervals of the longer one.

    


  • Play Raspberry Pi h264 stream in C# app

    29 octobre 2016, par CoreMeltdown

    I have a Raspberry Pi board with dedicated camera that records video only in h264. I am looking for the best method to stream and play recorded video in real-time (as in, less than 1 sec delay) in c# windows forms app. The additional requirement is that such stream can be easily processed before displaying, for example for searching for objects on the image.

    Stuff I tried :

    - VLC server on raspi and VLC control in c# forms app <- simple solution, with RTSP, but has a serious flaw, which is a 3sec delay in image displayed. I couldn’t fix it with buffor size/options etc.

    - creating a socket on raspi with nc, receiving raw h264 data in c# and passing it to mplayer frontend <- If I simply start raspivid | nc and on the laptop nc | mplayer, i get exactly the results i want, the video i get is pretty much realtime, but the problem arises when i try to create mplayer frontend in c# and simulate the nc.exe. Maybe I’m passing the h264 data wrong (simply write them to stdin) or maybe something else.

    - using https://github.com/cisco/openh264 <- I compiled everything, but i can’t even get to decode sample vid.h264 i recorded on raspi with h264dec.exe, not to mention using it in c#.

    h264dec.exe vid.h264 out.yuv

    This produces 0bytes out.yuv file, while :

    h264dec.exe  vid.h264

    Gives me error message : "No input file specified in configuration file."

    - ffmpeg <- I implemented ffplay.exe playback in c# app but the lack of easy method to take screencaps etc. discouraged me to further investigate and develop.

    I’m not even sure whether I’m properly approaching the subject, so I’d be really thankful for every piece of advice I can get.

    EDIT
    Here is my ’working’ solution I am trying to implement in c#

    raspivid --width 400 --height 300 -t 9999999 --framerate 25 --output - | nc -l 5884

    nc ip_addr 5884 | mplayer -nosound -fps 100 -demuxer +h264es -cache 1024 -

    The key here is FPS 100, becuase then mplayer skips lag and plays the video it immediately receives with normal speed.
    The issue here is that I don’t know how to pass video data from socket into mplayer via c#, because I guess it is not done via stdin (already tried that).