Recherche avancée

Médias (1)

Mot : - Tags -/copyleft

Autres articles (67)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

Sur d’autres sites (11926)

  • ffmpeg expert to help me with an encoding problem [closed]

    22 août 2022, par Michael Heuberger

    I'm the developer of www.videomail.io and experience issues with audio. It's a heavily used, free service to enable Deaf people to email in Sign Language. Runs on ffmpeg (under node-fluent-ffmpeg) and JavaScript (Node.js).

    


    Since I am Deaf myself, I am unable to repair some audio-related issues while muxing video with audio together on server side via ffmpeg. Reason for adding audio is to expand the target audience.

    


    That said, I'm searching for someone to help me with this. It's a paid job !

    


    Requirements :

    


      

    • Must know ffmpeg very well, especially on how to encode audio (WAV) and video (MP4) together without any audio delays.
    • 


    • Knowing JavaScript would be a massive plus for writing code
    • 


    • Has time in the following weeks, I guess about 10 hours or so.
    • 


    


    If you are keen, ping me please. My page is www.binarykitchen.com - thanks !

    


  • avcodec/cfhddata : Reduce stack usage

    3 septembre 2022, par Andreas Rheinhardt
    avcodec/cfhddata : Reduce stack usage
    

    Creating CFHD RL VLC tables works by first extending
    the codes by the sign, followed by creating a VLC,
    followed by deriving the RL VLC from this VLC (which
    is then discarded). Extending the codes uses stack arrays.

    The tables used to initialize the VLC are already sorted
    from left-to-right in the tree. This means that the
    corresponding VLC entries are generally also ascending,
    but not always : Entries from subtables always follow
    the corresponding main table although it is possible
    for the right-most node to fit into the main table.

    This suggests that one can try to use the final destination
    buffer as scratch buffer for the tables with sign included.
    Unfortunately it works for neither of the tables if one
    uses the right-most part of the RL VLC buffer as scratch buffer ;
    using the left-most part of the RL VLC buffer as scratch buffer
    might work if one traverses the VLC entries from end to start.
    But it works only for the little RL VLC (table 9), not for table 18.

    Therefore this patch uses the RL VLC buffer for table 9
    as scratch buffer for creating the bigger table 18.
    Afterwards the left part of the buffer for table 9 is
    used as scratch buffer to create table 9.

    This fixes the cfhd part of ticket #9399 (if it is not already fixed).
    Notice that I do not consider the previous stack usage excessive.

    Reviewed-by : Paul B Mahol <onemda@gmail.com>
    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libavcodec/cfhddata.c
  • Issues with encoded video in Chrome playback

    4 novembre 2022, par Michael Joseph Aubry

    Chrome is very particular about how a video is encoded. An issue I am facing with a specific type of video is seeked either does not get called at all or at least within a 20s period of time within certain frames.

    &#xA;

    I can consistently repeat this issue using this muxer https://github.com/redbrain/ytdl-core-muxer/blob/main/index.js

    &#xA;

    When I paint each frame in puppeteer Lambda there are certain frames where either seeked never gets called or the 20s timeout is called before the frame can resolve.

    &#xA;

    Here is an example of a log sequence for this particular frame that fails enter image description here

    &#xA;

    When I re-encode this video, simply by running ffmpeg -i VIDEO_URL then try with the new one there are no issues.

    &#xA;

    In order to see the differences on a frame level I run ffprobe -show_frames goodvideo.mp4 > good.txt && ffprobe -show_frames badvideo.mp4 > bad.txt and here is what I see with the frames around the 117s mark where the first sign of corruption occurs

    &#xA;

    Good Frame @ 117s

    &#xA;

    [FRAME]&#xA;media_type=video&#xA;stream_index=0&#xA;key_frame=0&#xA;pts=7020013&#xA;pts_time=117.000217&#xA;pkt_dts=7020013&#xA;pkt_dts_time=117.000217&#xA;best_effort_timestamp=7020013&#xA;best_effort_timestamp_time=117.000217&#xA;pkt_duration=1001&#xA;pkt_duration_time=0.016683&#xA;pkt_pos=27029408&#xA;pkt_size=1741&#xA;width=1920&#xA;height=1080&#xA;pix_fmt=yuv420p&#xA;sample_aspect_ratio=1:1&#xA;pict_type=B&#xA;coded_picture_number=7014&#xA;display_picture_number=0&#xA;interlaced_frame=0&#xA;top_field_first=0&#xA;repeat_pict=0&#xA;color_range=tv&#xA;color_space=bt709&#xA;color_primaries=bt709&#xA;color_transfer=bt709&#xA;chroma_location=left&#xA;[/FRAME]&#xA;

    &#xA;

    Bad Frame @ 117s

    &#xA;

    [FRAME]&#xA;media_type=video&#xA;stream_index=0&#xA;key_frame=0&#xA;pts=117000&#xA;pts_time=117.000000&#xA;pkt_dts=117000&#xA;pkt_dts_time=117.000000&#xA;best_effort_timestamp=117000&#xA;best_effort_timestamp_time=117.000000&#xA;pkt_duration=16&#xA;pkt_duration_time=0.016000&#xA;pkt_pos=20592998&#xA;pkt_size=18067&#xA;width=1920&#xA;height=1080&#xA;pix_fmt=yuv420p&#xA;sample_aspect_ratio=1:1&#xA;pict_type=P&#xA;coded_picture_number=7011&#xA;display_picture_number=0&#xA;interlaced_frame=0&#xA;top_field_first=0&#xA;repeat_pict=0&#xA;color_range=tv&#xA;color_space=bt709&#xA;color_primaries=bt709&#xA;color_transfer=bt709&#xA;chroma_location=left&#xA;[/FRAME]&#xA;

    &#xA;

    Does anyone know the differences and why the bad frame is causing my rendering function to have issues seeking ?

    &#xA;

    This is how I am muxing the bad video, Im trying to avoid re-encoding, but by re-encoding it seems to fix the issue. Are there any settings I can apply to avoid re-encoding while making the video more durable on Chrome ?

    &#xA;

    // default export: the ffmpeg muxer&#xA;const ytmux = (link, options: any = {}) => {&#xA;  const result = new stream.PassThrough({&#xA;    highWaterMark: options.highWaterMark || 1024 * 512&#xA;  });&#xA;&#xA;  ytdl.getInfo(link, options).then((info: videoInfo) => {&#xA;    let audioStream: Readable = ytdl.downloadFromInfo(info, {&#xA;      ...options,&#xA;      quality: "highestaudio"&#xA;    });&#xA;    let videoStream: Readable = ytdl.downloadFromInfo(info, {&#xA;      ...options,&#xA;      quality: "highestvideo"&#xA;    });&#xA;    // create the ffmpeg process for muxing&#xA;    let ffmpegProcess: any = cp.spawn(&#xA;      ffmpegPath.path,&#xA;      [&#xA;        // supress non-crucial messages&#xA;        "-loglevel",&#xA;        "8",&#xA;        "-hide_banner",&#xA;        // input audio and video by pipe&#xA;        "-i",&#xA;        "pipe:3",&#xA;&#xA;        "-i",&#xA;        "pipe:4",&#xA;&#xA;        // map audio and video correspondingly&#xA;        "-map",&#xA;        "0:v",&#xA;        "-map",&#xA;        "1:a",&#xA;&#xA;        // no need to change the codec&#xA;        "-c",&#xA;        "copy",&#xA;&#xA;        // Allow output to be seekable, which is needed for mp4 output&#xA;        "-movflags",&#xA;        "frag_keyframe&#x2B;empty_moov",&#xA;&#xA;        "-fflags",&#xA;        "&#x2B;genpts",&#xA;&#xA;        "-f",&#xA;        "matroska",&#xA;&#xA;        "pipe:5"&#xA;      ],&#xA;      {&#xA;        // no popup window for Windows users&#xA;        windowsHide: true,&#xA;        stdio: [&#xA;          // silence stdin/out, forward stderr,&#xA;          "inherit",&#xA;          "inherit",&#xA;          "inherit",&#xA;          // and pipe audio, video, output&#xA;          "pipe",&#xA;          "pipe",&#xA;          "pipe"&#xA;        ]&#xA;      }&#xA;    );&#xA;&#xA;    audioStream.pipe(ffmpegProcess.stdio[4]);&#xA;    videoStream.pipe(ffmpegProcess.stdio[3]);&#xA;    ffmpegProcess.stdio[5].pipe(result);&#xA;  });&#xA;  return result;&#xA;};&#xA;

    &#xA;