Recherche avancée

Médias (0)

Mot : - Tags -/optimisation

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (13)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • 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" ;

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

Sur d’autres sites (3178)

  • ffpmeg drops last frame when compressing from MP4 to MP4 (libx264)

    28 octobre 2018, par Usoboi

    So, I’m using this code to compress my *mp4 file. I need to get lower quality and decrease bitrate :

    ffmpeg -i input.mp4 -c:v libx264 output.mp4

    The problem is : the last frame of footage is dropped after ffmpeg compression.
    Screenshot is here : screenshot_ffmpeg_drop frame

    I tried to use full preferences I need, but the problem is the same.

    ffmpeg -i input.mp4 -c:v libx264 -vf scale=1280:720 -preset fast -crf 29 -r 25 -c:a copy output.mp4

    logfile during ffmpeg encoding :

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ’\input.mp4’ :
    Metadata :
    major_brand : mp42
    minor_version : 0
    compatible_brands : mp42mp41
    creation_time : 2018-10-28T11:06:03.000000Z
    Duration : 00:00:12.76, start : 0.000000, bitrate : 5374 kb/s
    Stream #0:0(eng) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 5368 kb/s, 25 fps, 25 tbr, 50k tbn, 50 tbc (default)
    Metadata :
    creation_time : 2018-10-28T11:06:03.000000Z
    handler_name : Alias Data Handler
    encoder : AVC Coding

    Stream mapping : Stream #0:0 -> #0:0 (h264 (native) -> h264
    (libx264)) Press [q] to stop, [?] for help [libx264 @
    000002fae8b50780] using SAR=1/1 [libx264 @ 000002fae8b50780] using cpu
    capabilities : MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @
    000002fae8b50780] profile High, level 3.1 [libx264 @ 000002fae8b50780]
    264 - core 155 r2901 7d0ff22 - H.264/MPEG-4 AVC codec - Copyleft
    2003-2018 - http://www.videolan.org/x264.html - options : cabac=1 ref=2
    deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 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=12
    lookahead_threads=2 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=1 keyint=250
    keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf
    mbtree=1 crf=29.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40
    aq=1:1.00 Output #0, mp4, to ’\output.mp4’ : Metadata :
    major_brand : mp42
    minor_version : 0
    compatible_brands : mp42mp41
    encoder : Lavf58.17.100
    Stream #0:0(eng) : Video : h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1—1, 25 fps, 12800 tbn, 25
    tbc (default)
    Metadata :
    creation_time : 2018-10-28T11:06:03.000000Z
    handler_name : Alias Data Handler
    encoder : Lavc58.19.104 libx264
    Side data :
    cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay : -1

    frame= 318 fps=127 q=-1.0 Lsize= 855kB time=00:00:12.60 bitrate=
    556.0kbits/s speed=5.05x video:851kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : 0.534683% [libx264 @
    0000015d5cef0500] frame I:2 Avg QP:26.18 size : 67800 [libx264 @
    0000015d5cef0500] frame P:80 Avg QP:27.93 size : 5439 [libx264 @
    0000015d5cef0500] frame B:236 Avg QP:32.44 size : 1269 [libx264 @
    0000015d5cef0500] consecutive B-frames : 0.9% 0.0% 0.9% 98.1%
    [libx264 @ 0000015d5cef0500] mb I I16..4 : 10.6% 62.5% 26.8% [libx264
    @ 0000015d5cef0500] mb P I16..4 : 0.5% 1.0% 0.2% P16..4 : 36.1%
    5.1% 3.6% 0.0% 0.0% skip:53.6% [libx264 @ 0000015d5cef0500] mb B I16..4 : 0.6% 0.5% 0.0% B16..8 : 22.2% 0.6% 0.0% direct : 2.0%
    skip:74.2% L0:44.9% L1:54.5% BI : 0.6% [libx264 @ 0000015d5cef0500]
    8x8 transform intra:55.0% inter:86.2% [libx264 @ 0000015d5cef0500]
    coded y,uvDC,uvAC intra : 48.1% 54.9% 27.0% inter : 3.2% 5.2% 0.2%
    [libx264 @ 0000015d5cef0500] i16 v,h,dc,p : 19% 56% 10% 15% [libx264 @
    0000015d5cef0500] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu : 19% 25% 18% 5% 6%
    5% 8% 5% 8% [libx264 @ 0000015d5cef0500] i4
    v,h,dc,ddl,ddr,vr,hd,vl,hu : 27% 24% 9% 5% 8% 7% 9% 5% 7%
    [libx264 @ 0000015d5cef0500] i8c dc,h,v,p : 60% 20% 15% 4% [libx264 @
    0000015d5cef0500] Weighted P-Frames : Y:0.0% UV:0.0% [libx264 @
    0000015d5cef0500] ref P L0 : 67.7% 32.3% [libx264 @ 0000015d5cef0500]
    ref B L0 : 80.4% 19.6% [libx264 @ 0000015d5cef0500] ref B L1 : 92.1%
    7.9% [libx264 @ 0000015d5cef0500] kb/s:547.35

  • ffpmeg drops last frame when compressing from MP4 to MP4 (libx264)

    28 octobre 2018, par Usoboi

    So, I’m using this code to compress my *mp4 file. I need to get lower quality and decrease bitrate :

    ffmpeg -i input.mp4 -c:v libx264 output.mp4

    The problem is : the last frame of footage is dropped after ffmpeg compression.
    Screenshot is here : screenshot_ffmpeg_drop frame

    I tried to use full preferences I need, but the problem is the same.

    ffmpeg -i input.mp4 -c:v libx264 -vf scale=1280:720 -preset fast -crf 29 -r 25 -c:a copy output.mp4

    logfile during ffmpeg encoding :

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ’\input.mp4’ :
    Metadata :
    major_brand : mp42
    minor_version : 0
    compatible_brands : mp42mp41
    creation_time : 2018-10-28T11:06:03.000000Z
    Duration : 00:00:12.76, start : 0.000000, bitrate : 5374 kb/s
    Stream #0:0(eng) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 5368 kb/s, 25 fps, 25 tbr, 50k tbn, 50 tbc (default)
    Metadata :
    creation_time : 2018-10-28T11:06:03.000000Z
    handler_name : Alias Data Handler
    encoder : AVC Coding

    Stream mapping : Stream #0:0 -> #0:0 (h264 (native) -> h264
    (libx264)) Press [q] to stop, [?] for help [libx264 @
    000002fae8b50780] using SAR=1/1 [libx264 @ 000002fae8b50780] using cpu
    capabilities : MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @
    000002fae8b50780] profile High, level 3.1 [libx264 @ 000002fae8b50780]
    264 - core 155 r2901 7d0ff22 - H.264/MPEG-4 AVC codec - Copyleft
    2003-2018 - http://www.videolan.org/x264.html - options : cabac=1 ref=2
    deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 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=12
    lookahead_threads=2 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=1 keyint=250
    keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf
    mbtree=1 crf=29.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40
    aq=1:1.00 Output #0, mp4, to ’\output.mp4’ : Metadata :
    major_brand : mp42
    minor_version : 0
    compatible_brands : mp42mp41
    encoder : Lavf58.17.100
    Stream #0:0(eng) : Video : h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1—1, 25 fps, 12800 tbn, 25
    tbc (default)
    Metadata :
    creation_time : 2018-10-28T11:06:03.000000Z
    handler_name : Alias Data Handler
    encoder : Lavc58.19.104 libx264
    Side data :
    cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay : -1

    frame= 318 fps=127 q=-1.0 Lsize= 855kB time=00:00:12.60 bitrate=
    556.0kbits/s speed=5.05x video:851kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead : 0.534683% [libx264 @
    0000015d5cef0500] frame I:2 Avg QP:26.18 size : 67800 [libx264 @
    0000015d5cef0500] frame P:80 Avg QP:27.93 size : 5439 [libx264 @
    0000015d5cef0500] frame B:236 Avg QP:32.44 size : 1269 [libx264 @
    0000015d5cef0500] consecutive B-frames : 0.9% 0.0% 0.9% 98.1%
    [libx264 @ 0000015d5cef0500] mb I I16..4 : 10.6% 62.5% 26.8% [libx264
    @ 0000015d5cef0500] mb P I16..4 : 0.5% 1.0% 0.2% P16..4 : 36.1%
    5.1% 3.6% 0.0% 0.0% skip:53.6% [libx264 @ 0000015d5cef0500] mb B I16..4 : 0.6% 0.5% 0.0% B16..8 : 22.2% 0.6% 0.0% direct : 2.0%
    skip:74.2% L0:44.9% L1:54.5% BI : 0.6% [libx264 @ 0000015d5cef0500]
    8x8 transform intra:55.0% inter:86.2% [libx264 @ 0000015d5cef0500]
    coded y,uvDC,uvAC intra : 48.1% 54.9% 27.0% inter : 3.2% 5.2% 0.2%
    [libx264 @ 0000015d5cef0500] i16 v,h,dc,p : 19% 56% 10% 15% [libx264 @
    0000015d5cef0500] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu : 19% 25% 18% 5% 6%
    5% 8% 5% 8% [libx264 @ 0000015d5cef0500] i4
    v,h,dc,ddl,ddr,vr,hd,vl,hu : 27% 24% 9% 5% 8% 7% 9% 5% 7%
    [libx264 @ 0000015d5cef0500] i8c dc,h,v,p : 60% 20% 15% 4% [libx264 @
    0000015d5cef0500] Weighted P-Frames : Y:0.0% UV:0.0% [libx264 @
    0000015d5cef0500] ref P L0 : 67.7% 32.3% [libx264 @ 0000015d5cef0500]
    ref B L0 : 80.4% 19.6% [libx264 @ 0000015d5cef0500] ref B L1 : 92.1%
    7.9% [libx264 @ 0000015d5cef0500] kb/s:547.35

  • V4l2 to RTSP stream using FFmpeg library ver 5.1

    10 août 2022, par wolverin

    Trying to transcode MJPEG in /dev/video0 to H264 RTSP server

    


    The MJPEG packet is read correctly, transcoded by the procedure below without errors

    


    BUT the image is corrupted after the middle of the picture and freezes

    


    1

    


    int WriteStream()
{
    int rt = 0;
    int64_t time_start = av_gettime_relative();

    if ((rt = avcodec_send_packet(pInpCdcCtx, pInpPkt)) < 0)
        goto ERROR;

    do {
        rt = avcodec_receive_frame(pInpCdcCtx, pInpFrm);
        if (rt == AVERROR_EOF || rt == AVERROR(EAGAIN))
            break;
        else if (rt < 0)
            goto ERROR_FRM;

int64_t time_dec = av_gettime_relative();

        if (pSwsCtx) /* it is NOT USED now because it is very slow, WHY???  and pOutFrm = pInpFrm */
        {
            pOutFrm->pts = pInpFrm->pts;

            sws_scale(pSwsCtx,
                    (const uint8_t * const *) pInpFrm->data, pInpFrm->linesize, 0, pInpCdcCtx->height,
                    pOutFrm->data, pOutFrm->linesize);
        }
        else
        {
            pInpFrm->key_frame = 0;
            pInpFrm->pict_type = AV_PICTURE_TYPE_NONE;
        }

int64_t time_sws = av_gettime_relative();


        if ((rt = avcodec_send_frame(pOutCdcCtx, pOutFrm)) < 0)
            goto ERROR_FRM;

        do {
            rt = avcodec_receive_packet(pOutCdcCtx, pOutPkt);
            if (rt == AVERROR_EOF || rt == AVERROR(EAGAIN))
                break;
            else if (rt < 0)
                goto ERROR_PKT;

int64_t time_enc = av_gettime_relative();

            fprintf(stdout, "Packet size inp: %d out: %d bytes Time decode: %.2f scale: %.2f encode: %.2f transcode: %.2f ms ...\r",
                            pInpPkt->size, pOutPkt->size, (time_dec - time_start)/1000.0, (time_sws - time_dec)/1000.0, (time_enc - time_sws)/1000.0, (av_gettime_relative() - time_start)/1000.0);

            rt = av_interleaved_write_frame(pOutFmtCtx, pOutPkt);

            av_packet_unref(pOutPkt);
        } while (rt >= 0);

        av_frame_unref(pInpFrm);
    } while (rt >= 0);
    return 0;

ERROR_PKT:
    av_packet_unref(pOutPkt);
ERROR_FRM:
    av_frame_unref(pInpFrm);
ERROR:
    PrintError("Error transcoding", rt);
    return rt;
}


    


    The dump looks like this

    


    Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 20815.488118, bitrate: N/A
  Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 30 fps, 30 tbr, 1000k tbn
[libx264 @ 0x14e12c0] using cpu capabilities: ARMv6 NEON
[libx264 @ 0x14e12c0] profile High 4:2:2, level 3.0, 4:2:2 8-bit
[libx264 @ 0x14e12c0] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=4 sliced_threads=1 slices=4 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=cbr mbtree=0 bitrate=500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=500 vbv_bufsize=1000 nal_hrd=none filler=0 ip_ratio=1.40 aq=0
Output #0, rtsp, to 'rtsp://127.0.0.1:554/cam':
  Stream #0:0: Video: h264, yuv422p(tv, bt470bg/unknown/unknown), 640x480, q=2-31, 500 kb/s, 30 tbr, 90k tbn


    


    The app itself is working fine

    


    ./ffmpeg -f v4l2 -input_format mjpeg -video_size 640x480 -i /dev/video0 -c:v libx264 -pix_fmt yuv422p -preset ultrafast -r 30 -b:v 500k -minrate:v 300k -maxrate:v 500k -bufsize 1000k -f rtsp -rtsp_transport udp rtsp ://192.168.36.212:554/cam

    


    maybe somehow it is necessary to set pts, dts and pkt_pos ?