Recherche avancée

Médias (91)

Autres articles (31)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (5104)

  • Basic "pass-through" use of FFmpegReader/FFmpegWriter in scikit-video

    6 février 2021, par JonathanZ supports MonicaC

    I am starting to use scikit-video and am having trouble writing files. I have reduced the problem to the simplest possible example

    


    vid_file = "6710185719062326259_stamp_25pct.mp4"
output_file = "out_temp3.mp4"
reader = skvideo.io.FFmpegReader(vid_file)
writer = skvideo.io.FFmpegWriter(output_file)
for frame in reader.nextFrame():
        writer.writeFrame(frame)
writer.close()


    


    I'm playing the files in VLC, and the vid_file is valid but the output file, though playable, is mostly big green blocks (though I can discern some details from the original video in it).

    


    My goal, or course, is to do "interesting" manipulations of the frame before I write it out, but I need to get the "no modifications" version working correctly first. I'm also going to be using this on large files, so the vread/vwrite functions that process an entire file at once are not appropriate.

    


    I'm guessing I need to set the appropriate values in the outputdict parameter for the FFmpegWriter, but there are so many that I don't know where to start. I have tried

    


    writer = skvideo.io.FFmpegWriter(output_file, outputdict={'-crf': '0', '-pix_fmt': 'rgb24'})


    


    (-crf 0 to suppress any compression, -pixfmt rgb24 as that's what FFmpegReader says it delivers by default, but these don't work either.

    


    Any ideas on how to make this work ?

    


    Here's the skvideo.io.ffprobe video information for the input file.

    


    {
    "@index": "0",
    "@codec_name": "h264",
    "@codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
    "@profile": "High",
    "@codec_type": "video",
    "@codec_time_base": "1/30",
    "@codec_tag_string": "avc1",
    "@codec_tag": "0x31637661",
    "@width": "480",
    "@height": "270",
    "@coded_width": "480",
    "@coded_height": "272",
    "@has_b_frames": "2",
    "@pix_fmt": "yuv420p",
    "@level": "21",
    "@chroma_location": "left",
    "@refs": "1",
    "@is_avc": "true",
    "@nal_length_size": "4",
    "@r_frame_rate": "15/1",
    "@avg_frame_rate": "15/1",
    "@time_base": "1/15360",
    "@start_pts": "0",
    "@start_time": "0.000000",
    "@duration_ts": "122880",
    "@duration": "8.000000",
    "@bit_rate": "183806",
    "@bits_per_raw_sample": "8",
    "@nb_frames": "120",
    "disposition": {
        "@default": "1",
        "@dub": "0",
        "@original": "0",
        "@comment": "0",
        "@lyrics": "0",
        "@karaoke": "0",
        "@forced": "0",
        "@hearing_impaired": "0",
        "@visual_impaired": "0",
        "@clean_effects": "0",
        "@attached_pic": "0",
        "@timed_thumbnails": "0"
    },
    "tag": [
        {
            "@key": "language",
            "@value": "und"
        },
        {
            "@key": "handler_name",
            "@value": "VideoHandler"
        }
    ]
}


    


    I will mention that when I ffprobe the output file the only differences I see are 1) the timing data is different, which isn't surprising, and 2) the output file has

    


        "@has_b_frames": "0",
    "@pix_fmt": "yuv444p",


    


    I'm pretty confident the reader is working okay, because if I write out the data with

    


    skimage.io.imsave('x.png', frame,  check_contrast=False)


    


    it looks good.

    


  • FFMPEG, macOS Catalina : "ffmpeg stderr : /private/tmp/com.apple.launchd.ID/org.macosforge.xquartz:0 : Operation not supported on socket"

    11 février 2021, par Bogdan Slyusarenko

    I'm trying to record selenium test run with FFMPEG, for automation testing of web extensions (selenium+js/ts).
FFMPEG initiated by command :

    


        const { spawn } = require("child_process");
        ffmpeg = spawn("ffmpeg", [
          "-x265-params",
          "-f",
          "xcbgrab", 
          "-video_size",
          "1280x1024", 
          "-i",
          process.env.DISPLAY, // "/private/tmp/com.apple.launchd.ID/org.macosforge.xquartz:0"
          "-loglevel",
          "debug", 
          "-y", 
          "-pix_fmt",
          "yuv420p",
          videoPath, 
        ]);


    


    Return constantly error,related to process.DISPLAY, I'm not sure why it's so :

    


        ffmpeg stderr: /private/tmp/com.apple.launchd.W851FkeNXz/org.macosforge.xquartz:0: Operation not supported on socket


    


    Full debug login is :

    


    ffmpeg stderr: ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
ffmpeg stderr:   built with Apple clang version 12.0.0 (clang-1200.0.32.28)
ffmpeg stderr:   configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1_9 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack
ffmpeg stderr: libavutil      56. 51.100 / 56. 51.100
ffmpeg stderr:   libavcodec     58. 91.100 / 58. 91.100
ffmpeg stderr:   libavformat    58. 45.100 / 58. 45.100
ffmpeg stderr:   libavdevice    58. 10.100 / 58. 10.100
ffmpeg stderr:   libavfilter     7. 85.100 /  7. 85.100
ffmpeg stderr:   libavresample   4.  0.  0 /  4.  0.  0
ffmpeg stderr:   libswscale      5.  7.100 /  5.  7.100
ffmpeg stderr:   libswresample   3.  7.100 /  3.  7.100
ffmpeg stderr:   libpostproc    55.  7.100 / 55.  7.100
ffmpeg stderr: Splitting the commandline.
ffmpeg stderr: Reading option '-x265-params' ...
ffmpeg stderr: matched as AVOption 'x265-params' with argument '-f'.
ffmpeg stderr: Reading option 'xcbgrab' ...
ffmpeg stderr: matched as output url.
ffmpeg stderr: Reading option '-video_size' ...
ffmpeg stderr: matched as AVOption 'video_size' with argument '1280x1024'.
ffmpeg stderr: Reading option '-i' ... matched as input url with argument '/private/tmp/com.apple.launchd.W851FkeNXz/org.macosforge.xquartz:0'.
ffmpeg stderr: Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
ffmpeg stderr: Reading option '-y' ...
ffmpeg stderr: matched as option 'y' (overwrite output files) with argument '1'.
ffmpeg stderr: Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv420p'.
ffmpeg stderr: Reading option '/Volumes/MacHD2/Upprojects/TEST/log/Checkout-Google.com-Search-on-Google.mp4' ... matched as output url.
ffmpeg stderr: Finished splitting the commandline.
ffmpeg stderr: Parsing a group of options: global .
ffmpeg stderr: Applying option loglevel (set logging level) with argument debug.
ffmpeg stderr: Applying option y (overwrite output files) with argument 1.
ffmpeg stderr: Successfully parsed a group of options.
ffmpeg stderr: Parsing a group of options: input url /private/tmp/com.apple.launchd.W851FkeNXz/org.macosforge.xquartz:0.
ffmpeg stderr: Successfully parsed a group of options.
ffmpeg stderr: Opening an input file: /private/tmp/com.apple.launchd.W851FkeNXz/org.macosforge.xquartz:0.
ffmpeg stderr: [NULL @ 0x7fcf80016800] Opening '/private/tmp/com.apple.launchd.W851FkeNXz/org.macosforge.xquartz:0' for reading
ffmpeg stderr: [file @ 0x7fcf7f507a00] Setting default whitelist 'file,crypto,data'
ffmpeg stderr: /private/tmp/com.apple.launchd.W851FkeNXz/org.macosforge.xquartz:0: Operation not supported on socket



    


    Any feedback appreciated

    


  • ffmpeg - convert mxf to ts while maintaining "Text" tracks

    15 février 2021, par user3552454

    I have a .mxf file that has 608/708 captions. When I look at the MediaInfo of this file I see below Text information. My goal is to extract 608/708 captions from this file using ccextractor. To do that first I am converting this to a .ts file using below ffmpeg command as ffmpeg -i abc.mxf -c:v mpeg2video -s 160x90 -b:v 300k -map 0:v -map 0:d abc.ts. But when I check the MediaInfo of abc.ts file I don't see any of "@type:Text" tracks in the output.

    


    I also tried with -copy_unknown but still, I am not able to see "@type:Text" in output .ts file MediaInfo.

    


    Also in some file I see "MuxingMode": "Ancillary data / CDP" and some files I am seeing "MuxingMode": "A/53 / DTVCC Transport". What is the difference between these two ?

    


    Request you to share your valuable feedback. Thank you.

    


    [{
    "@type": "Text",
    "@typeorder": "1",
    "ID": "512-CC1",
    "Format": "EIA-608",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "Delay": "0.000",
    "Delay_DropFrame": "Yes",
    "Delay_Source": "Container",
    "StreamSize": "0",
    "extra": {
        "Delay_SDTI": "0",
        "CaptionServiceName": "CC1",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}, {
    "@type": "Text",
    "@typeorder": "2",
    "ID": "512-1",
    "Format": "EIA-708",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "StreamSize": "0",
    "extra": {
        "CaptionServiceName": "1",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}, {
    "@type": "Text",
    "@typeorder": "3",
    "ID": "512-2",
    "Format": "EIA-708",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "StreamSize": "0",
    "extra": {
        "CaptionServiceName": "2",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}, {
    "@type": "Text",
    "@typeorder": "4",
    "ID": "512-3",
    "Format": "EIA-708",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "StreamSize": "0",
    "extra": {
        "CaptionServiceName": "3",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}, {
    "@type": "Text",
    "@typeorder": "5",
    "ID": "512-4",
    "Format": "EIA-708",
    "MuxingMode": "Ancillary data / CDP",
    "Duration": "2645.142",
    "BitRate_Mode": "CBR",
    "FrameRate": "29.970",
    "FrameCount": "79275",
    "StreamSize": "0",
    "extra": {
        "CaptionServiceName": "4",
        "CaptionServiceDescriptor_IsPresent": "No",
        "cdp_length_Min": "73",
        "cdp_length_Max": "73"
    }
}]