Recherche avancée

Médias (91)

Autres articles (72)

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

  • Need help accessing the key when trying to decrypt .ts files via ffmpeg

    4 juillet 2024, par Diz

    I have downloaded all the individual .ts files and the corresponding m3u8 file from a VOD and I now want to merge them together into a single watchable file.
The problem is, that the .ts files are encrypted and don't understand how to access the key.

    


    Here's the beginning of the m3u8 file :

    


    #EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-MEDIA-SEQUENCE:6484
#EXT-X-KEY:METHOD=AES-128,URI="irvine://aes",KEYFORMATVERSIONS="1",IV=0x1E9ABA2B3C916D47D592D9B1E7674F4B
#EXT-X-PROGRAM-DATE-TIME:2024-05-25T07:24:59.682Z
#EXTINF:4.004,
index_1_6484.ts
#EXT-X-PROGRAM-DATE-TIME:2024-05-25T07:25:03.686Z
#EXTINF:4.004,
index_1_6485.ts
#EXT-X-PROGRAM-DATE-TIME:2024-05-25T07:25:07.690Z
#EXTINF:4.004,
index_1_6486.ts
#EXT-X-PROGRAM-DATE-TIME:2024-05-25T07:25:11.694Z
#EXTINF:4.004,
index_1_6487.ts
...



    


    As far as I understood I only have the initialization vector and I need to access the URI to get the actual key.

    


    I have tried to decrypt the playlist with the following command :

    


    ffmpeg -i index_1.m3u8 -c copy output.ts


    


    But I would always get the following errors :

    


    Unable to open key file irvine://aes
Error when loading first segment 'index_1_6484.ts'
Error opening input: Invalid data found when processing input
Error opening input file index_1.m3u8.
Error opening input files: Invalid data found when processing input


    


    I have also tried just decrypting a single .ts file to start with, with similar results.

    


    ffmpeg -decryption_key 1E9ABA2B3C916D47D592D9B1E7674F4B -i index_1_6484.ts -codec copy index_1_6484_out.ts


    


  • Insert still frames into H.264 video stream

    7 juillet 2021, par Bassinator

    I'm building an application that receives video packets which are encoded as H.264 from Microsoft Teams - I get one packet for each frame of video. Specifications of the packet contents are given here. For every packet I receive, I write the byte contents of the data[] buffer to a file. This resulting file is a playable H.264 encoded video.

    


    I'm trying to handle the scenario of syncing the audio and video streams from a Teams meeting, and inserting a still frame PNG as a "filler" when nobody has their camera on.

    


    I used the following FFMPEG command to generate n number of seconds of H.264 video from the filler frame :

    


    ffmpeg -loop 1 -i video_filler_frame.png -framerate 30 -c:v libx264 -t 2 -vf scale=1920:1080 C:\Code\temp\out.mp4


    


    This generates an MP4 file (H.264 encoded) - as a test in my code, I tried to read the contents of that generated file as a byte array and append them to the video file.

    


    However, this doesn't appear to work. I'm guessing this is because there is some kind of header or other metadata that prevents us from doing the simple solution of just appending the bytes of the next frame.

    


    My question is, how can I achieve what I am trying to do ? I'd like to splice in n number of frames as I am writing the individual packet contents to the file. In other words, for example, consider the following sequence :

    


      

    • Write packets of video to the file
    • 


    • My code determines that filler frames are needed at some point in this process

        

      • Insert needed number of filler frames to the file
      • 


      


    • 


    • Continue writing packets of video as they come in
    • 


    


  • FFmpeg create video from images, insert images as frame from timestamp ?

    29 août 2018, par Hunter_AP

    So I’m trying to extract every frame of a video, then use ffprobe to see when each frame is played within a video, then be able to stitch that video back together using those extracted images and ffprobe output.

    Right now, I have this batch file :

    for %%a in (*.mp4) do (
       mkdir "%%~na_images" > NUL
       ffmpeg.exe -hide_banner -i "%%a"  -t 100 "%%~na_images\image-%%d.png"
       ffprobe.exe "%%a" -hide_banner -show_entries frame=coded_picture_number,best_effort_timestamp_time -of csv > "%%~na_frames.txt"
    )

    First, a directory is made for the images.
    Then ffmpeg extracts all the frames of the video to individual PNG files, which are numbered appropriately.
    Lastly, ffprobe sees when each frame is first shown within that video (IE : frame 1 is shown at 0 seconds, but at say 60fps then frame 2 is played at 0.016667 seconds in the video). The output looks like this :

    frame,0.000000,0
    frame,0.000000
    frame,0.017000,1
    frame,0.023220

    Where the first number (IE 0.17000 is the time the second frame appears) and the 2nd number is the frame number.
    Now my problem is using ffmpeg to take each frame and place it in the proper time within the video. I can do this using another language (probably Python), but my best guess is to make a loop to iterate through the ffprobe output file, get the frame time and image number, place that frame at the points that it appears, then move on to the next frame and time placement. Looking at the frame data I used as an example above, it ’d be something like this :

    for line in lines:
       mySplit = line.split(',')
       # Get image number 0 and insert at time 0.000000

    This is the part that I’m not sure how to do in a coding sense. I can read in and parse the lines of the ffprobe output text file, but I have no idea how to insert the frames at certain points in a video using ffmpeg or similar solutions.