Recherche avancée

Médias (1)

Mot : - Tags -/iphone

Autres articles (46)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

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

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

Sur d’autres sites (7606)

  • Compress video using ffmpeg.js

    25 mai 2024, par John Mark

    I attempted to upload and compress a video using ffmpeg.js. However, it appears that this process is ineffective on modern browsers. I have already implemented console logging to verify if the video compression is occurring, yet thus far, no compression has been achieved. Could anyone suggest an alternative library for video compression that might better suit the requirements ?

    


    <template>&#xA;  <div>&#xA;    <input type="file" accept="video/*" />&#xA;    <video ref="video" controls="controls"></video>&#xA;  </div>&#xA;</template>&#xA;&#xA;<code class="echappe-js">&lt;script&gt;&amp;#xA;import { FFmpeg } from &amp;#x27;@ffmpeg/ffmpeg&amp;#x27;;&amp;#xA;&amp;#xA;export default {&amp;#xA;  methods: {&amp;#xA;    async handleFileInputChange(event) {&amp;#xA;      const file = event.target.files[0];&amp;#xA;      if (!file) return;&amp;#xA;&amp;#xA;      const video = this.$refs.video;&amp;#xA;      const url = URL.createObjectURL(file);&amp;#xA;      video.src = url;&amp;#xA;&amp;#xA;      const inputVideoPath = &amp;#x27;input.mp4&amp;#x27;;&amp;#xA;      const outputVideoPath = &amp;#x27;compressed_output.mp4&amp;#x27;;&amp;#xA;&amp;#xA;      console.log(&quot;Compressing video...&quot;);&amp;#xA;      await this.compressVideo(file, inputVideoPath, outputVideoPath);&amp;#xA;      console.log(&quot;Compression completed.&quot;);&amp;#xA;&amp;#xA;      video.src = URL.createObjectURL(await this.downloadFile(outputVideoPath));&amp;#xA;    },&amp;#xA;    async compressVideo(file, inputVideoPath, outputVideoPath) {&amp;#xA;      const ffmpeg = new FFmpeg();&amp;#xA;      await ffmpeg.load();&amp;#xA;&amp;#xA;      // Writing the input file to the FFmpeg file system&amp;#xA;      await ffmpeg.writeFile(inputVideoPath, file);&amp;#xA;&amp;#xA;      // Execute FFmpeg command for compression&amp;#xA;      await ffmpeg.exec([&amp;#x27;-i&amp;#x27;, inputVideoPath, &amp;#x27;-vcodec&amp;#x27;, &amp;#x27;libx264&amp;#x27;, &amp;#x27;-crf&amp;#x27;, &amp;#x27;28&amp;#x27;, outputVideoPath]);&amp;#xA;    },&amp;#xA;    async downloadFile(filePath) {&amp;#xA;      const ffmpeg = new FFmpeg();&amp;#xA;      await ffmpeg.load();&amp;#xA;&amp;#xA;      // Read the compressed file from FFmpeg file system&amp;#xA;      const data = await ffmpeg.readFile(filePath);&amp;#xA;&amp;#xA;      return new Blob([data.buffer], { type: &amp;#x27;video/mp4&amp;#x27; });&amp;#xA;    }&amp;#xA;  }&amp;#xA;};&amp;#xA;&lt;/script&gt;&#xA;&#xA;&#xA;

    &#xA;

  • avcodec/libzvbi-teletextdec : allow -1 subtitle duration and make it the default

    28 avril 2018, par Marton Balint
    avcodec/libzvbi-teletextdec : allow -1 subtitle duration and make it the default
    

    Most decoders (pgssubdec, ccaption_dec) are using -1 or UINT32_MAX for a
    subtitle event which should be cleared at the next event.

    Signed-off-by : Marton Balint <cus@passwd.hu>

    • [DH] doc/decoders.texi
    • [DH] libavcodec/libzvbi-teletextdec.c
    • [DH] libavcodec/version.h
  • Retrieving current frame number

    2 avril 2015, par Solidus

    I am doing a project which involves a bit of video recording and editing and I am struggling to find a good C++ library to use. I am using QT as my framework and their video player is not working properly for me to use (seeking crashes some times, e.g.). Also, I need to record video and audio from my camera and QCamera does not work in windows (for recording).

    On my program the user can draw on top of the video and I need to store the start frame and the end frame of those drawings.

    Right now I’ve been testing Libvlc which almost does what I want. From what I can see they don’t have a way to just jump to a certain frame as this can only be done by time or position.

    The first solution that I came up with was to capture the time change event and then calculate the frame using the FPS. The problem is that, as far as I can tell, the interval of this event is around 250ms, which for a 15fps video is almost 4 frames.

    So, the second solution was to use libvlc_video_set_callbacks to make my own "lock, unlock and display" and count the frames there. This works for recording from the camera, as there is no going back and the frames go from 0 until the video stops. The problem is when playing a video. Since there is no timestamp, as far as I can tell, there is no way for me to know in which frame number I am (the user can be seeking for example). My "hacky" solution was to have a "lastTime" and "numTimes" on the struct I pass into these callbacks and this is what I do :

    lastTime represents the "last new time" received and numTimes represents the number of times lastTime was received.

    get_the_current_time
    calculate_frame_num_with_fps
    if current_time is equal to lastTime:
        frameNum += numTimes
        numTimes++
    else
        lastTime = current_time
        numTimes = 1

    This kinda works but I hate the solution. I’m not sure if when doing seeking the time changes if the difference is less than 250ms. That would maybe be kinda hard for a user to do but I’d prefer not to implement it like that.

    So my question is if there is another solution for this ? If not, any libraries that could help me on this ? I know about FFMPEG which seems would solve me this problem as it’s more low level and I could implement this solution. The problem is my deadline is approaching and that would still me take some time (learning the library and doing all the work). So I was thinking of it as a last resort.

    Thank you for your time.