Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (44)

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

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

  • 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 ?

    


  • file input from http (url) in melt plugin

    26 décembre 2017, par Anuj TBE

    I’m using MELT plugin for generating crossfade animation using series of images.

    I found the corssfade animation script from here.

    and the script is

    melt -verbose \
    -profile atsc_720p_25 \
    001.png out=50 \
    002.png out=75 -mix 25 -mixer luma \
    003.png out=75 -mix 25 -mixer luma \
    004.png out=75 -mix 25 -mixer luma \
    005.png out=75 -mix 25 -mixer luma \
    -consumer avformat:output.mp4 vcodec=libx264 an=1

    But instead of providing file from local path, I want to use http url like

    melt -verbose \
    -profile atsc_720p_25 \
    http://example.com/image1.jpg out=50 \
    http://example.com/image2.jpg out=75 -mix 25 -mixer luma \
    http://example.com/image3.jpg out=75 -mix 25 -mixer luma \
    http://example.com/image4.jpg out=75 -mix 25 -mixer luma \
    http://example.com/image5.jpg out=75 -mix 25 -mixer luma \
    -consumer avformat:output.mp4 vcodec=libx264 an=1

    But it gives

    No LADSPA plugins were found!

    Check your LADSPA_PATH environment variable.

    and full output is

    No LADSPA plugins were found!

    Check your LADSPA_PATH environment variable.
    [mjpeg @ 0x168a320] Changeing bps to 8
    [mjpeg @ 0x12725a0] Changeing bps to 8
    [mjpeg @ 0x1691120] Changeing bps to 8
    [mjpeg @ 0x1bc5ac0] Changeing bps to 8
    [mjpeg @ 0x1907ae0] Changeing bps to 8
    [mjpeg @ 0x1d09a20] Changeing bps to 8
    [mjpeg @ 0x13a2b00] Changeing bps to 8
    [mjpeg @ 0x1e4e6e0] Changeing bps to 8
    [mjpeg @ 0x1d0b8c0] Changeing bps to 8
    [mjpeg @ 0x1d190c0] Changeing bps to 8
    +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
    |1=-10| |2= -5| |3= -2| |4= -1| |5=  0| |6=  1| |7=  2| |8=  5| |9= 10|
    +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+
    +---------------------------------------------------------------------+
    |               H = back 1 minute,  L = forward 1 minute              |
    |                 h = previous frame,  l = next frame                 |
    |           g = start of clip, j = next clip, k = previous clip       |
    |                0 = restart, q = quit, space = play                  |
    +---------------------------------------------------------------------+
    [libx264 @ 0x7f7f980c7aa0] using SAR=1/1
    [libx264 @ 0x7f7f980c7aa0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 0x7f7f980c7aa0] profile High, level 3.1
    [libx264 @ 0x7f7f980c7aa0] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - 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
    [mjpeg @ 0x7f7f88433200] Changeing bps to 8
    [mjpeg @ 0x7f7f88832980] Changeing bps to 8
    [mjpeg @ 0x7f7f88052ac0] Changeing bps to 8
    [mjpeg @ 0x7f7f88c5abe0] Changeing bps to 8
    [mjpeg @ 0x7f7f88bdd560] Changeing bps to 8
    [mjpeg @ 0x7f7f88beb2a0] Changeing bps to 8
    [mjpeg @ 0x7f7f88c838a0] Changeing bps to 8
    [mjpeg @ 0x7f7f894a1100] Changeing bps to 8
    [mjpeg @ 0x7f7f88b6a3a0] Changeing bps to 8
    [mjpeg @ 0x7f7f88b78840] Changeing bps to 8
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [swscaler @ 0x7f7f898cc980] Warning: data is not aligned! This can lead to a speedloss
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [swscaler @ 0x7f7f88c5f740] YUV color matrix differs for YUV->YUV, using intermediate RGB to convert
    [mjpeg @ 0x7f7f89ff25a0] Changeing bps to 8
    Segmentation fault (core dumped)

    Also, the generated video file is broken

    How can I provide http input ?

  • ffmpeg is generating an out-of-sync audio/video file

    4 mars 2020, par marcelorocks

    I am trying to convert a flv video to mp4 using a264, but the result video has a out of sync audio/video. The audio seems ok but the video seems slow and therefore out of sync with the audio.

    Here is the command I am running :

    /opt/local/bin/ffmpeg -i complaint.flv -f mp4 -vcodec libx264 -acodec aac -copyts -strict experimental -fpre /opt/local/share/ffmpeg/libx264-lossless_slow.ffpreset -ab 44k -threads 0 -crf 23 complaint.mp4

    And the output :

    Desktop  /opt/local/bin/ffmpeg -i complaint.flv -f mp4 -vcodec libx264 -acodec aac -copyts -strict experimental -fpre /opt/local/share/ffmpeg/libx264-lossless_slow.ffpreset -ab 44k -threads 0 -crf 23 complaint.mp4
    ffmpeg version 0.7.8, Copyright (c) 2000-2011 the FFmpeg developers
     built on Jan 12 2012 21:12:26 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
     configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libopenjpeg --enable-libxvid --enable-libx264 --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/gcc-4.2 --arch=x86_64 --enable-yasm
     libavutil    50. 43. 0 / 50. 43. 0
     libavcodec   52.123. 0 / 52.123. 0
     libavformat  52.111. 0 / 52.111. 0
     libavdevice  52.  5. 0 / 52.  5. 0
     libavfilter   1. 80. 0 /  1. 80. 0
     libswscale    0. 14. 1 /  0. 14. 1
     libpostproc  51.  2. 0 / 51.  2. 0
    [flv @ 0x7fe57a04ac00] Estimating duration from bitrate, this may be inaccurate
    Input #0, flv, from 'complaint.flv':
     Metadata:
       duration        : 7
       creationdate    : Thu Jan 12 23:47:24
       description     : Recorded using VideoRecording example.
     Duration: 00:00:06.61, start: 0.000000, bitrate: N/A
       Stream #0.0: Video: flv, yuv420p, 288x288, 1k tbr, 1k tbn, 1k tbc
       Stream #0.1: Audio: nellymoser, 11025 Hz, mono, s16
    File 'complaint.mp4' already exists. Overwrite ? [y/N] y
    [buffer @ 0x7fe579c32cc0] w:288 h:288 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
    [libx264 @ 0x7fe57a044600] using cpu capabilities: none!
    [libx264 @ 0x7fe57a044600] profile High, level 4.2
    [libx264 @ 0x7fe57a044600] 264 - core 118 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x33 me=umh subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=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.41 aq=1:1.00
    Output #0, mp4, to 'complaint.mp4':
     Metadata:
       duration        : 7
       creationdate    : Thu Jan 12 23:47:24
       description     : Recorded using VideoRecording example.
       encoder         : Lavf52.111.0
       Stream #0.0: Video: libx264, yuv420p, 288x288, q=0-69, 200 kb/s, 1k tbn, 1k tbc
       Stream #0.1: Audio: aac, 11025 Hz, mono, s16, 44 kb/s
    Stream mapping:
     Stream #0.0 -> #0.0
     Stream #0.1 -> #0.1
    Press [q] to stop, [?] for help
    frame= 6557 fps=106 q=-1.0 Lsize=     685kB time=00:00:03.62 bitrate=1549.1kbits/s dup=6367 drop=0    
    video:615kB audio:17kB global headers:0kB muxing overhead 8.361360%
    frame I:27    Avg QP:19.98  size:  8242
    [libx264 @ 0x7fe57a044600] frame P:6530  Avg QP:30.71  size:    62
    [libx264 @ 0x7fe57a044600] mb I  I16..4: 11.1% 79.3%  9.6%
    [libx264 @ 0x7fe57a044600] mb P  I16..4:  0.1%  0.2%  0.0%  P16..4:  1.2%  0.2%  0.3%  0.0%  0.0%    skip:98.0%
    [libx264 @ 0x7fe57a044600] 8x8 transform intra:77.8% inter:64.9%
    [libx264 @ 0x7fe57a044600] coded y,uvDC,uvAC intra: 75.3% 81.3% 33.3% inter: 0.5% 0.7% 0.1%
    [libx264 @ 0x7fe57a044600] i16 v,h,dc,p: 78%  9% 10%  3%
    [libx264 @ 0x7fe57a044600] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 35% 11% 32%  3%  4%  5%  2%  5%  4%
    [libx264 @ 0x7fe57a044600] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 56%  7%  9%  3%  4%  7%  3%  7%  3%
    [libx264 @ 0x7fe57a044600] i8c dc,h,v,p: 45% 15% 34%  6%
    [libx264 @ 0x7fe57a044600] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x7fe57a044600] ref P L0: 80.5%  9.5% 10.0%
    [libx264 @ 0x7fe57a044600] kb/s:767.20

    Is there something I’m missing to make sure the video and audio line up perfectly ?