Recherche avancée

Médias (91)

Autres articles (7)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

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

  • Is there an efficient way to use ffmpeg to perform a large quantity of cuts from a single file ?

    16 mars 2024, par Giuliano Oliveri

    I'm trying to cut video files into smaller chunks. (each one being one word said in the video, so they're not all of equal size)

    


    I've tried a lot of different approaches to try to be as efficient as possible, but I can't get the runtime to be under 2/3rd of the original video length. That's an issue because I'm trying to process 400+ hours of video.

    


    Is there a more efficient way to do this ? Or am I doomed to run this for weeks ?

    


    Here is the command for my best attempt so far

    


    ffmpeg -hwaccel cuda -hwaccel_output_format cuda -ss start_timestamp -t to_timestamp -i file_name -vf "fps=30,scale_cuda=1280:720" -c:v h264_nvenc -y output_file


    


    Note that the machine running the code has a 4090
This command is then executed via python, which gives it the right timestamps and file paths for each smaller clip in a for loop

    


    I think it's wasting a lot of time calling a new process each time, however I haven't been able to get better results with a split filter ; but here's the ffmpeg-python code for that attempt :

    


    Creation of the stream :

    


    inp = (
    ffmpeg
    .input(file_name, hwaccel="cuda", hwaccel_output_format="cuda")
    .filter("fps",fps=30)
    .filter('scale_cuda', '1280','720')
    .filter_multi_output('split')
)


    


    Which then gets called in a for loop

    


    (
    ffmpeg
    .filter(inp, 'trim', start=row[1]['start'], end=row[1]['end'])
    .filter('setpts', 'PTS-STARTPTS')
    .output(output_file,vcodec='h264_nvenc')
    .run()
)


    


  • FFmpeg : convert mono interleaved 96 KHz stream to a stereo 48 KHz stream [closed]

    8 mars 2024, par Jochen

    I am using avfoundation with ffmpeg to capture audio with an HDMI-to-USB capture card from a MS2109 chip.

    


    The problem is that this card produces audio as 96Khz ; stereo 16bit 48kHz interleaved (1 sample for left channel, then 1 sample for right channel, alternating).

    


    There is a macOS program available : mono-to-stereo-mac.
This does the conversion and outputs it to a Blackhole virtual device, but it does not work perfectly as it produces crackling sounds.

    


    Is there a possibility to do this efficiently with FFmpeg ?
I came across this command :

    


    ffmpeg -f avfoundation -i :1 -filter_complex "[0:a:0]asetnsamples=1:false,aselect=n=2:e=mod(n\,2)+1[even][odd];[even]asetrate=48000,asetnsamples=1024,asetpts=N/SR/TB[even];[odd]asetrate=48000,asetnsamples=1024,asetpts=N/SR/TB[odd];[even][odd]join=2:stereo:0.0-FL|1.0-FR[aout]" -map "[aout]" 48kHz_stereo.wav


    


    but it does not produce the correct result.

    


  • Capture full-range/lossless rgb frame from capture card that supports NV12 and YUYV output

    13 janvier 2023, par kunal joshi

    I am trying to make a program which captures an image, then i need to compare captured image and the input data which i displayed, both should matc pixel by pixel

    


    Here are the details of my capture card

    


    $ v4l2-ctl —list-formats-ext -d /dev/video0

    


    ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'NV12' (Y/CbCr 4:2:0)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.033s (30.000 fps)
                Size: Discrete 2560x1440
                        Interval: Discrete 0.017s (60.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.017s (60.000 fps)
                Size: Discrete 1280x720
                        Interval: Discrete 0.017s (60.000 fps)
                Size: Discrete 640x480
                        Interval: Discrete 0.017s (60.000 fps)
        [1]: 'YUYV' (YUYV 4:2:2)
                Size: Discrete 2560x1440
                        Interval: Discrete 0.020s (50.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.017s (60.000 fps)
                Size: Discrete 1280x720
                        Interval: Discrete 0.017s (60.000 fps)
                Size: Discrete 640x480
                        Interval: Discrete 0.017s (60.000 fps)
        [2]: '' (30313050-0000-0010-8000-00aa003)
        [3]: '' (e436eb7e-524f-11ce-9f53-0020af0)



    


    $ v4l2-ctl —all

    


    Driver Info:
        Driver name      : uvcvideo
        Card type        : ITE HDMI 4K+ Bridge: ITE HDMI 4
        Bus info         : usb-0000:00:14.0-6
        Driver version   : 5.18.0
        Capabilities     : 0x84a00001
                Video Capture
                Metadata Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04200001
                Video Capture
                Streaming
                Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
        Width/Height      : 1920/1080
        Pixel Format      : 'YUYV' (YUYV 4:2:2)
        Field             : None
        Bytes per Line    : 3840
        Size Image        : 4147200
        Colorspace        : sRGB
        Transfer Function : Rec. 709
        YCbCr/HSV Encoding: Rec. 709
        Quantization      : Default (maps to Limited Range)
        Flags             :
Crop Capability Video Capture:
        Bounds      : Left 0, Top 0, Width 1920, Height 1080
        Default     : Left 0, Top 0, Width 1920, Height 1080
        Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Streaming Parameters Video Capture:
        Capabilities     : timeperframe
        Frames per second: 60.000 (60/1)
        Read buffers     : 0




    


    I have tried using various methods opencv but ffmpeg came the closest

    


    With below command i am able to get good results but not what i want

    


    ffmpeg -y -f v4l2 -pix_fmt NV12 -video_size 1920x1080 -i /dev/video0 -pix_fmt bgra -frames:v 10 webcam%03d.bmp


    


    Reference Image

    


    RGB of Reference image

    


    RGB of captured image

    


    Note :- I am able to capture fine with Aforge on windows, but not with ffmpeg on linux.
Would like to know if anyone has already got solution to this.

    


    Thanks in advance.