Recherche avancée

Médias (0)

Mot : - Tags -/latitude

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

Autres articles (52)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

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

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

Sur d’autres sites (9568)

  • The SSIM values calculated using FFMPEG are not what I expected

    18 mai 2020, par fd-alexer

    I'm trying to encode an m2ts (MPEG-2 Transport Stream) file to mp4 (H.264) and get the ssim value.
    
I did get some SSIM values, but the results were contrary to my expectations.

    



    Are there wrong command options for ffmpeg ?

    



    Encoding and SSIM calculation commands

    



    # encode&#xA;$ ffmpeg -hide_banner -fflags &#x2B;discardcorrupt -i input.m2ts \&#xA;  -c:v libx264 -crf <crf> -preset:v medium \&#xA;  -c:a copy -bsf:a aac_adtstoasc \&#xA;  output_ff_crf-<crf>.mp4&#xA;&#xA;# calculate ssim&#xA;$ ffmpeg -hide_banner -i <a> -i <b> \&#xA;  -lavfi  "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" \&#xA;  -f null -&#xA;</b></a></crf></crf>

    &#xA;&#xA;

    The results of the SSIM

    &#xA;&#xA;

    (a) A=input.m2ts,          B=input.m2ts,           ssim=0.973266&#xA;(b) A=input.m2ts,          B=output_ff_crf-0.mp4,  ssim=0.813347&#xA;(c) A=input.m2ts,          B=output_ff_crf-30.mp4, ssim=0.819897&#xA;(d) A=output_ff_crf-0.mp4, B=output_ff_crf-0.mp4,  ssim=1.000000&#xA;(e) A=output_ff_crf-0.mp4, B=output_ff_crf-30.mp4, ssim=0.972911&#xA;

    &#xA;&#xA;

      &#xA;
    • (d)(e) : These are what I expected.
    • &#xA;

    • (a) : The files are the same, but ssim≠1.
    • &#xA;

    • (b)(c) : SSIMs with CRF=0 and CRF=30 have almost the same value, although the image quality is different.
    • &#xA;

    &#xA;&#xA;

    In the case of HandBrakeCLI

    &#xA;&#xA;

    To determine if there was a problem with input.m2ts, I ran HandBrakeCLI with almost the same parameters as ffmpeg.

    &#xA;&#xA;

    # encode&#xA;HandBrakeCLI --verbose --format av_mp4 --encoder x264 --quality <crf> --x264-preset medium \&#xA;  --aencoder copy \&#xA;  --input input.m2ts --output output_hb_crf-<crf>.mp4&#xA;&#xA;# calculate ssim (same as ffmpeg)&#xA;$ ffmpeg -hide_banner -i <a> -i <b> \&#xA;  -lavfi  "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" \&#xA;  -f null -&#xA;</b></a></crf></crf>

    &#xA;&#xA;

    (b&#x27;) A=input.m2ts,          B=output_hb_crf-0.mp4,  ssim=0.999999&#xA;(c&#x27;) A=input.m2ts,          B=output_hb_crf-30.mp4, ssim=0.972886&#xA;(d&#x27;) A=output_hb_crf-0.mp4, B=output_hb_crf-0.mp4,  ssim=1.000000&#xA;(e&#x27;) A=output_hb_crf-0.mp4, B=output_hb_crf-30.mp4, ssim=0.972886&#xA;

    &#xA;&#xA;

    It's all as I expected. (although A is not ssim=1.0) &#xA;Therefore, I don't see a problem with input.m2ts.

    &#xA;&#xA;

    Informations about video files and tools

    &#xA;&#xA;

    Results of the ffprobe

    &#xA;&#xA;

    input.m2ts

    &#xA;&#xA;

    [mpeg2video @ 0x5655577c1680] Invalid frame dimensions 0x0.&#xA;    Last message repeated 1 times&#xA;[mpegts @ 0x5655577bd080] start time for stream 2 is not set in estimate_timings_from_pts&#xA;[mpegts @ 0x5655577bd080] PES packet size mismatch&#xA;Input #0, mpegts, from &#x27;input.m2ts&#x27;:&#xA;  Duration: 00:30:02.68, start: 39593.392600, bitrate: 19019 kb/s&#xA;  Program 211&#xA;    Stream #0:0[0x140]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc&#xA;    Stream #0:1[0x141]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 255 kb/s&#xA;    Stream #0:2[0x138]: Data: bin_data ([6][0][0][0] / 0x0006)&#xA;Unsupported codec with id 100359 for input stream 2&#xA;

    &#xA;&#xA;

    output_ff_crf-0.mp4

    &#xA;&#xA;

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;output_ff_crf-0.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf57.83.100&#xA;  Duration: 00:30:02.67, start: 0.000000, bitrate: 109301 kb/s&#xA;    Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 109040 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 252 kb/s (default)&#xA;    Metadata:&#xA;      handler_name    : SoundHandler&#xA;

    &#xA;&#xA;

    output_hb_crf-0.mp4

    &#xA;&#xA;

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;output_hb_crf-0.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    creation_time   : 2020-05-17T06:22:06.000000Z&#xA;    encoder         : HandBrake 1.1.0 2018042400&#xA;  Duration: 00:30:02.22, start: 0.000000, bitrate: 109661 kb/s&#xA;    Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 109405 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-05-17T06:22:06.000000Z&#xA;      handler_name    : VideoHandler&#xA;    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 252 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-05-17T06:22:06.000000Z&#xA;      handler_name    : Stereo&#xA;

    &#xA;&#xA;

    Tools

    &#xA;&#xA;

    version

    &#xA;&#xA;

      &#xA;
    • ffmpeg : 3.4.6-0ubuntu0.18.04.1
    • &#xA;

    • HandBrakeCLI : 1.1.0
    • &#xA;

    &#xA;&#xA;

    ldd

    &#xA;&#xA;

    $ ldd /usr/bin/ffmpeg&#xA;...&#xA;libx264.so.152 => /usr/lib/x86_64-linux-gnu/libx264.so.152 (0x00007efbf1f33000)&#xA;...&#xA;&#xA;$ ldd /usr/bin/HandBrakeCLI&#xA;...&#xA;libx264.so.152 => /usr/lib/x86_64-linux-gnu/libx264.so.152 (0x00007efbfb38f000)&#xA;...&#xA;

    &#xA;&#xA;

    ffmpeg and HandBrakeCLI are using the same libx264.

    &#xA;

  • ffmpeg filter_complex concat never completes

    10 juillet 2020, par seawolf

    I am trying to concatenate mp4 files into a single file. I am attempting to use the concat filter directly for reasons independent from this question (so -i list.txt is not a valid solution). All video files in question are between 4 and 20 minutes in length.

    &#xA;

    What I am executing :

    &#xA;

    % ffmpeg -i f01.mp4 -i f02.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.mp4&#xA;

    &#xA;

    This is my understanding of the form of this command from references such as FFmpeg Filters Documentation : concat and Concatenate Videos Together Using FFMPEG !.

    &#xA;

    What happens :

    &#xA;

    ffmpeg gives a lot of output as it checks the metadata for each stream and then begins processing. After a short duration (several seconds to a minute or so, seems to be prortional to the duration of the first video) I start seeing messages like this :

    &#xA;

    More than 1000 frames duplicated&#xA;More than 10000 frames duplicated     512kB time=00:00:00.12 bitrate=32771.0kbits/s dup=33365 drop=0 speed=0.00449x&#xA;More than 100000 frames duplicated   1280kB time=00:00:00.17 bitrate=61442.1kbits/s dup=66730 drop=0 speed=0.00272x&#xA;

    &#xA;

    ... and then the process never completes. If I leave my computer running for 24 hours, ffmpeg is still using max available CPU (200-300%). The output file is 48 bytes in length.

    &#xA;

    Note : the inputs are only a few minutes each, so individually re-encoding the inputs would take only a few minutes each.

    &#xA;

    Note : if I change the command to use f01.mp4 for both source 0 and source 1, the command completes as expected in under 5 minutes :

    &#xA;

    % # example that works:&#xA;% # note, however, that this just repeats the same source twice&#xA;% ffmpeg -i f01.mp4 -i f01.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.mp4&#xA;

    &#xA;

    Full output :

    &#xA;

    Here is the complete output of a run in case it's helpful :

    &#xA;

    % ffmpeg -i f01.mp4 -i f02.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.mp4&#xA;ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with Apple clang version 11.0.3 (clang-1103.0.32.62)&#xA;  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3_2 --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-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 --disable-libjack --disable-indev=jack&#xA;  libavutil      56. 51.100 / 56. 51.100&#xA;  libavcodec     58. 91.100 / 58. 91.100&#xA;  libavformat    58. 45.100 / 58. 45.100&#xA;  libavdevice    58. 10.100 / 58. 10.100&#xA;  libavfilter     7. 85.100 /  7. 85.100&#xA;  libavresample   4.  0.  0 /  4.  0.  0&#xA;  libswscale      5.  7.100 /  5.  7.100&#xA;  libswresample   3.  7.100 /  3.  7.100&#xA;  libpostproc    55.  7.100 / 55.  7.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;f01.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    creation_time   : 2020-06-04T21:34:26.000000Z&#xA;    encoder         : HandBrake 1.3.2 2020050300&#xA;  Duration: 00:04:14.66, start: 0.000000, bitrate: 525 kb/s&#xA;    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 708x478 [SAR 8:9 DAR 944:717], 366 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-06-04T21:34:26.000000Z&#xA;      handler_name    : VideoHandler&#xA;    Stream #0:1(jpn): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 149 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-06-04T21:34:26.000000Z&#xA;      handler_name    : Stereo&#xA;Input #1, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;f02.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    creation_time   : 2020-06-04T21:38:15.000000Z&#xA;    encoder         : HandBrake 1.3.2 2020050300&#xA;  Duration: 00:06:30.95, start: 0.000000, bitrate: 1328 kb/s&#xA;    Stream #1:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 708x478 [SAR 8:9 DAR 944:717], 1179 kb/s, 29.97 fps, 30 tbr, 90k tbn, 180k tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-06-04T21:38:15.000000Z&#xA;      handler_name    : VideoHandler&#xA;    Stream #1:1(jpn): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 140 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-06-04T21:38:15.000000Z&#xA;      handler_name    : Stereo&#xA;File &#x27;output.mp4&#x27; already exists. Overwrite? [y/N] y&#xA;Stream mapping:&#xA;  Stream #0:0 (h264) -> concat:in0:v0&#xA;  Stream #0:1 (aac) -> concat:in0:a0&#xA;  Stream #1:0 (h264) -> concat:in1:v0&#xA;  Stream #1:1 (aac) -> concat:in1:a0&#xA;  concat:out:v0 -> Stream #0:0 (libx264)&#xA;  concat:out:a0 -> Stream #0:1 (aac)&#xA;Press [q] to stop, [?] for help&#xA;[mp4 @ 0x7ff130014000] Frame rate very high for a muxer not efficiently supporting it.&#xA;Please consider specifying a lower framerate, a different muxer or -vsync 2&#xA;[libx264 @ 0x7ff130021200] using SAR=8/9&#xA;[libx264 @ 0x7ff130021200] MB rate (1350000000) > level limit (16711680)&#xA;[libx264 @ 0x7ff130021200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2&#xA;[libx264 @ 0x7ff130021200] profile High, level 6.2, 4:2:0, 8-bit&#xA;[libx264 @ 0x7ff130021200] 264 - core 160 r3011 cde9a93 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - 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&#xA;Output #0, mp4, to &#x27;output.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf58.45.100&#xA;    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 708x478 [SAR 8:9 DAR 944:717], q=-1--1, 1000k tbn, 1000k tbc (default)&#xA;    Metadata:&#xA;      encoder         : Lavc58.91.100 libx264&#xA;    Side data:&#xA;      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A&#xA;    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)&#xA;    Metadata:&#xA;      encoder         : Lavc58.91.100 aac&#xA;More than 1000 frames duplicated&#xA;More than 10000 frames duplicated     512kB time=00:00:00.12 bitrate=32771.0kbits/s dup=33365 drop=0 speed=0.00449x&#xA;More than 100000 frames duplicated   1280kB time=00:00:00.17 bitrate=61442.1kbits/s dup=66730 drop=0 speed=0.00272x&#xA;frame=667333 fps=1079 q=33.0 size=   14848kB time=00:00:00.76 bitrate=158379.2kbits/s dup=667312 drop=0 speed=0.00124x&#xA;

    &#xA;

  • avformat/movenc : write the mdcv atom by default

    28 mars 2020, par Michael Bradshaw
    avformat/movenc : write the mdcv atom by default
    

    The mdcv atom isn't in ISO/IEC 14496-12:2015 but it is expected to be
    added soon. See :
    http://ffmpeg.org/pipermail/ffmpeg-devel/2020-April/259529.html

    The mdcv atom is already parsed in FFmpeg in mov.c.

    Signed-off-by : Michael Bradshaw <mjbshaw@google.com>

    • [DH] libavformat/movenc.c