Recherche avancée

Médias (1)

Mot : - Tags -/3GS

Autres articles (70)

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

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

Sur d’autres sites (8595)

  • FFmpeg wrong duration(double) when convert mp4

    13 novembre 2017, par crazymxm

    The output file has the double duration :

    Source video duration :00:01:58.88

    output video duration :00:03:57.76

    (video’s duration is double ,audio’s duration is correct. So, the video looks like played twice, with no sound in the second half )

    here is the log:

    ./ffmpeg -i /Volumes/LANKEXIN/1383.mp4 out.mp4
    ffmpeg version N-82977-g8fd3e02-tessus Copyright (c) 2000-2016 the FFmpeg developers
    built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
    configuration : —cc=/usr/bin/clang —prefix=/opt/ffmpeg —extra-version=tessus —enable-avisynth —enable-fontconfig —enable-gpl —enable-libass —enable-libbluray —enable-libfreetype —enable-libgsm —enable-libmodplug —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopus —enable-libschroedinger —enable-libsnappy —enable-libsoxr —enable-libspeex —enable-libtheora —enable-libvidstab —enable-libvo-amrwbenc —enable-libvorbis —enable-libvpx —enable-libwavpack —enable-libx264 —enable-libx265 —enable-libxavs —enable-libxvid —enable-libzmq —enable-version3 —disable-ffplay —disable-indev=qtkit —disable-indev=x11grab_xcb

     libavutil      55. 43.100 / 55. 43.100
     libavcodec     57. 70.100 / 57. 70.100
     libavformat    57. 61.100 / 57. 61.100
     libavdevice    57.  2.100 / 57.  2.100
     libavfilter     6. 68.100 /  6. 68.100
     libswscale      4.  3.101 /  4.  3.101
     libswresample   2.  4.100 /  2.  4.100
     libpostproc    54.  2.100 / 54.  2.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/LANKEXIN/1383.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42isom
       creation_time   : 2017-10-30T14:58:05.000000Z
       encoder         : mp4creator 1.6.1d
     Duration: 00:01:58.88, start: 0.000000, bitrate: 1918 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1729 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
       Metadata:
         creation_time   : 2017-10-30T14:58:05.000000Z
         encoder         : VC Coding
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
       Metadata:
         creation_time   : 2017-10-30T14:58:05.000000Z
    File 'out.mp4' already exists. Overwrite ? [y/N] y
    [libx264 @ 0x7fbaca003c00] using SAR=1/1
    [libx264 @ 0x7fbaca003c00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 0x7fbaca003c00] profile High, level 3.1
    [libx264 @ 0x7fbaca003c00] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'out.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42isom
       encoder         : Lavf57.61.100
       Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
       Metadata:
         creation_time   : 2017-10-30T14:58:05.000000Z
         encoder         : Lavc57.70.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         creation_time   : 2017-10-30T14:58:05.000000Z
         encoder         : Lavc57.70.100 aac
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    Press [q] to stop, [?] for help
    frame=   46 fps=0.0 q=0.0 size=       0kB time=00:00:00.93 bitrate=   0.0kbits/sframe=   64 fps= 45 q=28.0 size=     137kB time=00:00:01.66 bitrate= 672.2kbits/frame=   85 fps= 44 qframe= 5944 fps= 33 q=-1.0 Lsize=   38746kB time=00:03:57.64 bitrate=1335.7kbits/s speed=1.33x    4kB time=00:00:02.94 bitrate= 818.0kbits/s speed= 1.2x    
    video:36779kB audio:1846kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.311413%
    [libx264 @ 0x7fbaca003c00] frame I:24    Avg QP:19.49  size: 67090
    [libx264 @ 0x7fbaca003c00] frame P:1806  Avg QP:21.65  size: 14304
    [libx264 @ 0x7fbaca003c00] frame B:4114  Avg QP:25.42  size:  2484
    [libx264 @ 0x7fbaca003c00] consecutive B-frames:  2.2%  8.1% 25.5% 64.2%
    [libx264 @ 0x7fbaca003c00] mb I  I16..4: 20.6% 55.8% 23.6%
    [libx264 @ 0x7fbaca003c00] mb P  I16..4:  5.2%  9.3%  0.8%  P16..4: 36.0%  9.9%  4.2%  0.0%  0.0%    skip:34.5%
    [libx264 @ 0x7fbaca003c00] mb B  I16..4:  0.5%  1.0%  0.0%  B16..8: 27.2%  1.8%  0.2%  direct: 0.9%  skip:68.5%  L0:48.6% L1:47.6% BI: 3.8%
    [libx264 @ 0x7fbaca003c00] 8x8 transform intra:60.9% inter:78.2%
    [libx264 @ 0x7fbaca003c00] coded y,uvDC,uvAC intra: 38.3% 61.5% 12.3% inter: 6.6% 11.3% 0.6%
    [libx264 @ 0x7fbaca003c00] i16 v,h,dc,p: 22% 35% 10% 33%
    [libx264 @ 0x7fbaca003c00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 24% 21%  5%  6%  6%  6%  5%  6%
    [libx264 @ 0x7fbaca003c00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 33% 11%  4%  7%  6%  6%  4%  4%
    [libx264 @ 0x7fbaca003c00] i8c dc,h,v,p: 43% 30% 20%  7%
    [libx264 @ 0x7fbaca003c00] Weighted P-Frames: Y:0.3% UV:0.2%
    [libx264 @ 0x7fbaca003c00] ref P L0: 73.5%  9.0% 13.8%  3.7%  0.0%
    [libx264 @ 0x7fbaca003c00] ref B L0: 92.4%  6.6%  1.1%
    [libx264 @ 0x7fbaca003c00] ref B L1: 97.7%  2.3%
    [libx264 @ 0x7fbaca003c00] kb/s:1267.21
    [aac @ 0x7fbaca021800] Qavg: 897.576
  • Wrong subtitle packet data from av_read_frame() for FFmpeg 4.4 and higher ?

    12 avril 2023, par Elija

    I have a video file in MOV format. This file contains EIA608 subtitles. I use ffprobe to see the contents of all packets. For FFmpeg 4.3.1, I get the data of the first subtitle packet according to the file content at the offset specified for this packet, but for FFmpeg 4.4 and higher, I get "corrupted" data from the same packet. The beginning is cut off, the characters "0xfc" are added and the packet size is different. For packets of other types (video, audio, data), the result is the same for all versions of FFmpeg and exactly matches the contents of the file.
I get the same result when using the av_read_frame() function call in my code with different versions of FFmpeg.
Why does this happen with subtitle packets ? What has changed in FFmpeg with the transition to version 4.4 and higher ? What do I not know or do not understand ?

    


    The file content at packet position (position = 9723 = 0x25fb) :
The file content at packet position (position = 9723 = 0x25fb)

    


    FFmpeg 4.3.1 ffprobe result for the first subtitle packet :
FFmpeg 4.3.1 ffprobe result for the first subtitle packet

    


    FFmpeg 4.4 and higher ffprobe result for the first subtitle packet :
FFmpeg 4.4 and higher ffprobe result for the first subtitle packet

    


    UPDATE :
I found that since version 4.4. when reading a EIA608 subtitle packet for the MOV format, the get_eia608_packet() function has been added (mov_read_packet() used inside of av_read_frame(), get_eia608_packet() used inside of mov_read_packet()). But I don't understand for what purpose it was done. Can someone explain to me ?
As FFmpeg says about av_read_frame() : "This function returns what is stored in the file, and does not validate that what is there are valid frames for the decoder. It will split what is stored in the file into frames and return one for each call. It will not omit invalid data between valid frames so as to give the decoder the maximum information possible for decoding."
av_read_frame() description

    


    libavformat/mov.c :

    


    static int get_eia608_packet(AVIOContext *pb, AVPacket *pkt, int size)
{
    int new_size, ret;

    if (size <= 8)
        return AVERROR_INVALIDDATA;
    new_size = ((size - 8) / 2) * 3;
    ret = av_new_packet(pkt, new_size);
    if (ret < 0)
        return ret;

    avio_skip(pb, 8);
    for (int j = 0; j < new_size; j += 3) {
        pkt->data[j] = 0xFC;
        pkt->data[j+1] = avio_r8(pb);
        pkt->data[j+2] = avio_r8(pb);
    }

    return 0;
}

static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
{
...
if (st->codecpar->codec_id == AV_CODEC_ID_EIA_608 && sample->size > 8)
            ret = get_eia608_packet(sc->pb, pkt, sample->size);
        else
            ret = av_get_packet(sc->pb, pkt, sample->size);
...
}


    


  • Three.js video texture displays green on Chrome mobile, wrong encoding ?

    19 mai 2015, par beeb

    I am trying to make a video texture "skybox" that works on mobile browsers with Three.js. So far, I’ve been able to implement this and it works great on desktop browsers. The problem is, when viewing the animation in Chrome mobile (42.0.2311.111 on Android 5.0.2), the video appears all green with a few artifacts. I tried with mp4 (encoded with ffmpeg libx264) and ogv (ffmpeg libtheora) videos and they both fail to work (mp4 is green as stated, and ogv doesn’t display at all - black). Is the encoding the problem or webgl ? The strange thing is that my method is the same as this method : http://jeromeetienne.github.io/threex.videotexture/examples/videotexture.html
    But my Chrome mobile browser can play this example fine, so I’m guessing the encoding must be the problem ?

    Here are the command lines I used to generate the videos :

    ffmpeg -framerate 30 -i %05d.png -c:v libtheora -qscale:v 8 -r 30 outputfile.ogv
    ffmpeg -framerate 30 -i %05d.png -c:v libx264 -qscale:v 8 -r 30 outputfile.mp4

    Here’s the full code, even though I don’t think the problem originates from this : https://jsfiddle.net/rufn75ef/ (you have to hit the play button, autoplay doesn’t work on mobile so I disabled it for this example)

    video = document.createElement('video');
    video.crossOrigin = "Anonymous";
    var canPlayMp4 = document.createElement('video').canPlayType('video/mp4') !== '' ? true : false;
    var canPlayOgg = document.createElement('video').canPlayType('video/ogg') !== '' ? true : false;
    if (canPlayMp4) {
       video.src = 'vid.mp4';
    } else if (canPlayOgg) {
       video.src = 'vid.ogv';
    } else {
       alert('Your browser can\'t play video, please view this site in a modern desktop browser.');
    }
    video.muted = true;
    video.loop = true;

    video.width = 358;
    video.height = 264;

    video.load(); //do after source change

    videoTexture = new THREE.Texture(video);
    videoTexture.minFilter = THREE.NearestFilter;
    videoTexture.magFilter = THREE.NearestFilter;

    If you are able to test, do you experience the same problem ? How should I encode my videos using ffmpeg to maximize mobile compatibility ?

    Thanks in advance