Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (104)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

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

  • Dash output with ffmpeg not producing durations specified with -seg_duration

    30 juillet 2022, par Codie

    There is a .mp4 file of 35 MB and 51 seconds. I have to create 51 chunks, each corresponding to 1 second with a size of less than 1MB (the total size should be almost the same as the original file). Please note that I have to implement lossless converting.

    


    I've tried many times, but it just produces about 10 files above 10 MB.

    



    


    Command :

    


    ffmpeg -re -i input.mp4 -map 0:v -c:v libx264 -crf 0 -bf 1 -keyint_min 120 -g 120 -sc_threshold 0 -b_strategy 0 -use_template 1 -seg_duration 1 -window_size 60 -adaptation_sets "id=0,streams=v id=1,streams=a" -f dash ./dashTest/out.mpd


    



    


    Command line log :

    


    ffmpeg version 5.1-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41
    creation_time   : 2022-07-27T09:13:31.000000Z
  Duration: 00:00:50.03, start: 0.000000, bitrate: 5716 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 5396 kb/s, 25 fps, 25 tbr, 25k tbn (default)
    Metadata:
      creation_time   : 2022-07-27T09:13:31.000000Z
      handler_name    : ?Mainconcept Video Media Handler
      vendor_id       : [0][0][0][0]
      encoder         : AVC Coding
  Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)
    Metadata:
      creation_time   : 2022-07-27T09:13:31.000000Z
      handler_name    : #Mainconcept MP4 Sound Media Handler
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 000001d13acb0380] using SAR=1/1
[libx264 @ 000001d13acb0380] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 000001d13acb0380] profile High 4:4:4 Predictive, level 3.1, 4:2:0, 8-bit
[libx264 @ 000001d13acb0380] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=120 keyint_min=61 scenecut=0 intra_refresh=0 rc=cqp mbtree=0 qp=0
[dash @ 000001d13a2a4680] No bit rate set for stream 0
[dash @ 000001d13a2a4680] Opening './dashTest/init-stream0.m4s' for writing
Output #0, dash, to './dashTest/out.mpd':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41
    encoder         : Lavf59.27.100
  Stream #0:0(eng): Video: h264, yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 12800 tbn (default)
    Metadata:
      creation_time   : 2022-07-27T09:13:31.000000Z
      handler_name    : ?Mainconcept Video Media Handler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc59.37.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00001.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.849x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00002.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.918x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00003.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.942x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00004.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.957x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00005.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.964x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00006.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.971x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00007.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.975x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00008.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.978x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00009.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.981x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00010.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.982x
[dash @ 000001d13a2a4680] Opening './dashTest/chunk-stream0-00011.m4s.tmp' for writing
[dash @ 000001d13a2a4680] Opening './dashTest/out.mpd.tmp' for writing0.983x
frame= 1250 fps= 25 q=-1.0 Lsize=N/A time=00:00:49.96 bitrate=N/A speed=0.992x
video:171641kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 000001d13acb0380] frame I:11    Avg QP: 0.00  size:255122
[libx264 @ 000001d13acb0380] frame P:1239  Avg QP: 0.00  size:139591
[libx264 @ 000001d13acb0380] mb I  I16..4: 52.8%  8.8% 38.4%
[libx264 @ 000001d13acb0380] mb P  I16..4:  3.9%  0.7%  1.3%  P16..4: 28.0% 13.9% 11.3%  0.0%  0.0%    skip:40.8%
[libx264 @ 000001d13acb0380] 8x8 transform intra:11.9% inter:33.4%
[libx264 @ 000001d13acb0380] coded y,uvDC,uvAC intra: 68.6% 80.1% 78.9% inter: 38.0% 47.1% 46.5%
[libx264 @ 000001d13acb0380] i16 v,h,dc,p: 65% 28%  5%  2%
[libx264 @ 000001d13acb0380] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 33% 33% 28%  2%  1%  1%  1%  1%  1%
[libx264 @ 000001d13acb0380] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 36%  7%  3%  5%  3%  4%  3%  2%
[libx264 @ 000001d13acb0380] i8c dc,h,v,p: 17% 38% 44%  1%
[libx264 @ 000001d13acb0380] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000001d13acb0380] ref P L0: 86.4%  7.6%  4.6%  1.4%
[libx264 @ 000001d13acb0380] kb/s:28121.58


    



    


    .mpd file :

    


    &lt;?xml version="1.0" encoding="utf-8"?>&#xA;<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediapresentationduration="PT50.0S" maxsegmentduration="PT1.0S" minbuffertime="PT9.6S">&#xA;    <programinformation>&#xA;    </programinformation>&#xA;    <servicedescription>&#xA;    </servicedescription>&#xA;    <period start="PT0.0S">&#xA;        <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" framerate="25/1" maxwidth="1280" maxheight="720" par="16:9" lang="eng">&#xA;            <representation mimetype="video/mp4" codecs="avc1.f4001f" bandwidth="28122926" width="1280" height="720" sar="1:1">&#xA;                <segmenttemplate timescale="12800" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">&#xA;                    <segmenttimeline>&#xA;                        <s t="0" d="61440" r="9"></s>&#xA;                        <s d="25600"></s>&#xA;                    </segmenttimeline>&#xA;                </segmenttemplate>&#xA;            </representation>&#xA;        </adaptationset>&#xA;        <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true">&#xA;        </adaptationset>&#xA;    </period>&#xA;</mpd>&#xA;

    &#xA;


    &#xA;

    Please, if you want to put a negative point, mention your reason in the comments !

    &#xA;


    &#xA;
  • Understanding PTS and DTS in video frames

    8 août 2015, par theateist

    I had fps issues when transcoding from avi to mp4(x264). Eventually the problem was in PTS and DTS values, so lines 12-15 where added before av_interleaved_write_frame function :

    1.  AVFormatContext* outContainer = NULL;
    2.  avformat_alloc_output_context2(&amp;outContainer, NULL, "mp4", "c:\\test.mp4";
    3.  AVCodec *encoder = avcodec_find_encoder(AV_CODEC_ID_H264);
    4.  AVStream *outStream = avformat_new_stream(outContainer, encoder);
    5.  // outStream->codec initiation
    6.  // ...
    7.  avformat_write_header(outContainer, NULL);

    8.  // reading and decoding packet
    9.  // ...
    10. avcodec_encode_video2(outStream->codec, &amp;encodedPacket, decodedFrame, &amp;got_frame)
    11.
    12. if (encodedPacket.pts != AV_NOPTS_VALUE)
    13.     encodedPacket.pts =  av_rescale_q(encodedPacket.pts, outStream->codec->time_base, outStream->time_base);
    14. if (encodedPacket.dts != AV_NOPTS_VALUE)
    15.     encodedPacket.dts = av_rescale_q(encodedPacket.dts, outStream->codec->time_base, outStream->time_base);
    16.
    17. av_interleaved_write_frame(outContainer, &amp;encodedPacket)

    After reading many posts I still do not understand :

    1. outStream->codec->time_base = 1/25 and outStream->time_base = 1/12800. The 1st one was set by me but I cannot figure out why and who set 12800 ? I noticed that before line (7) outStream->time_base = 1/90000 and right after it it changes to 1/12800, why ?
      When I transcode from avi to avi, meaning changing the line (2) to avformat_alloc_output_context2(&amp;outContainer, NULL, "avi", "c:\\test.avi"; , so before and after line (7) outStream->time_base remains always 1/25 and not like in mp4 case, why ?
    2. What is the difference between time_base of outStream->codec and outStream ?
    3. To calc the pts av_rescale_q does : takes 2 time_base, multiplies their fractions in cross and then compute the pts. Why it does this in this way ? As I debugged, the encodedPacket.pts has value incremental by 1, so why changing it if it does has value ?
    4. At the beginning the dts value is -2 and after each rescaling it still has negative number, but despite this the video played correctly ! Shouldn’t it be positive ?
  • How to scape special characters for linux, nodejs exec function

    22 février 2023, par David Chavez

    I'm running this ffmpeg command on my linux server and while I paste it into the terminal, it works just fine but as soon as I use execPromise to run the EXACT same command, it returns an error.

    &#xA;

    const { exec } = require(&#x27;child_process&#x27;);&#xA;const { promisify } = require(&#x27;util&#x27;);&#xA;const execPromise = promisify(exec);&#xA;&#xA;const encode = async ffmpegCode => {&#xA;    try {&#xA;        console.log(ffmpegCode) //Here I can see that the code is the&#xA;                                //exact same one than the one that works&#xA;                                //when pasted into the terminal&#xA;        await execPromise(ffmpegCode);&#xA;        return 200&#xA;    } catch (err) {&#xA;        console.log(err)&#xA;    }&#xA;}&#xA;

    &#xA;

    I need \: to be interpreted as such. When I type it as is, \:, the error message shows me that it interpreted it as : which is expected.

    &#xA;

    If I pass in \\:, I expect it to interpret it as I need it which would be \: but the error shows me that it interprets it as \\:.

    &#xA;

    \\\: is interpreted as \\: and \\\\: is interpreted as \\\\:.

    &#xA;

    Part of the command passed :

    &#xA;

    ...drawtext=text=&#x27;timestamp \\: %{pts \\: localtime \\: 1665679092.241...

    &#xA;

    Expected command :

    &#xA;

    ...drawtext=text=&#x27;timestamp \: %{pts \: localtime \: 1665679092.241...

    &#xA;

    Error message :

    &#xA;

    ...drawtext=text=&#x27;timestamp \\: %{pts \\: localtime \\: 1665679092.241...

    &#xA;

    How do I get /: through to the exec function ?

    &#xA;