Recherche avancée

Médias (2)

Mot : - Tags -/kml

Autres articles (57)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

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

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

Sur d’autres sites (6669)

  • Split video with ffmpeg segment option is missing frame

    9 février 2024, par Dan

    I’m trying to get the ffmpeg “segment” option to split my video into segments at the Iframes. I'm using ffmpeg V6.1.1.

    


    First I added time stamps to each frame of my video so that when it plays, I can see exactly which frame is being displayed. I used this command :

    


    ffmpeg -i In.mp4 -vf "drawtext=fontfile='C :\Windows\Fonts\Arial.ttf' : text='%frame_num :~ %pts':fontsize=200 : r=25 : x=(w-tw)/2 : y=h-(2*lh) : fontcolor=white : box=1 : boxcolor=0x00000099" -y Out.mp4

    


    Then I used ffprobe to confirm that the video is 30 FPS and the Iframes are as follows :

    


    0.000000
4.933333
10.000000
11.533333
18.866667
24.966667

    


    Based on these Iframe times, I’d expect the following segments :

    


    





    


    


    


    


    


    


    



    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    Start Frame Start Time End Frame End Time
    0 0 147 4.900000
    148 4.933333 299 9.966667
    300 10.000000 345 11.500000
    346 11.533333 565 18.833334
    566 18.866667 748 24.933334
    749 24.966667 867 28.906667

    


    


    When I use ffmpeg to split the video into segments with the following command, I get six files as expected :

    


    ffmpeg -i Out.mp4 -f segment -c copy -reset_timestamps 1 -map 0 "Out %d.mp4"

    


    When I play the segments, they are all correct except the first segment file (Out 0.mp4). It seems to be missing the last frame. It contains frames 0 to 146 (4.866667 sec) but should also include frame 147 (4.9 sec). All the other segment files are as expected.

    


    I’ve tried this on several different mp4 videos and they all are missing the last frame on the first segments.

    


    Any idea why my first segment files is missing the last frame of the segment ?

    


    Could this be an ffmpeg bug ?

    


    Thanks for the help !
Dan

    


    Here is my console session with all output :

    


    C:\> ffprobe Out.mp4
ffprobe version 2023-12-21-git-1e42a48e37-full_build-www.gyan.dev Copyright (c) 2007-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --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-libaribb24 --enable-libaribcaption --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-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --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-libcodec2 --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      58. 36.100 / 58. 36.100
  libavcodec     60. 36.100 / 60. 36.100
  libavformat    60. 20.100 / 60. 20.100
  libavdevice    60.  4.100 / 60.  4.100
  libavfilter     9. 14.100 /  9. 14.100
  libswscale      7.  6.100 /  7.  6.100
  libswresample   4. 13.100 /  4. 13.100
  libpostproc    57.  4.100 / 57.  4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Out.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Short 4k video sample - 4K Ultra HD (3840x2160)
    date            : 2014:05:24 19:00:00
    encoder         : Lavf60.20.100
  Duration: 00:00:28.96, start: 0.000000, bitrate: 3181 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 3045 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : Lavc60.36.100 libx264
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]

C:\ ffprobe -loglevel error -skip_frame nokey -select_streams v:0 -show_entries frame=pts_time -of csv=print_section=0 Out.mp4
0.000000,
4.933333
10.000000
11.533333
18.866667
24.966667

C:\ ffmpeg -i Out.mp4 -f segment -c copy -reset_timestamps 1 -map 0 "Out %1d.mp4"
ffmpeg version 2023-12-21-git-1e42a48e37-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --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-libaribb24 --enable-libaribcaption --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-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --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-libcodec2 --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      58. 36.100 / 58. 36.100
  libavcodec     60. 36.100 / 60. 36.100
  libavformat    60. 20.100 / 60. 20.100
  libavdevice    60.  4.100 / 60.  4.100
  libavfilter     9. 14.100 /  9. 14.100
  libswscale      7.  6.100 /  7.  6.100
  libswresample   4. 13.100 /  4. 13.100
  libpostproc    57.  4.100 / 57.  4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Out.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Short 4k video sample - 4K Ultra HD (3840x2160)
    date            : 2014:05:24 19:00:00
    encoder         : Lavf60.20.100
  Duration: 00:00:28.96, start: 0.000000, bitrate: 3181 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 3045 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : Lavc60.36.100 libx264
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
[segment @ 00000195bbc52940] Opening 'Out 0.mp4' for writing
Output #0, segment, to 'Out %1d.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Short 4k video sample - 4K Ultra HD (3840x2160)
    date            : 2014:05:24 19:00:00
    encoder         : Lavf60.20.100
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 3045 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : Lavc60.36.100 libx264
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
Press [q] to stop, [?] for help
[segment @ 00000195bbc52940] Opening 'Out 1.mp4' for writing
[segment @ 00000195bbc52940] Opening 'Out 2.mp4' for writing
[segment @ 00000195bbc52940] Opening 'Out 3.mp4' for writing
[segment @ 00000195bbc52940] Opening 'Out 4.mp4' for writing
[segment @ 00000195bbc52940] Opening 'Out 5.mp4' for writing
[out#0/segment @ 00000195bc3e8cc0] video:10757kB audio:456kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
size=N/A time=00:00:28.86 bitrate=N/A speed= 322x


    


  • avdevice/decklink : fix MSVC build issues

    6 mai 2017, par Aaron Levinson
    avdevice/decklink : fix MSVC build issues
    

    Purpose : Made minor changes to get the decklink avdevice code to build
    using Visual C++.

    Notes : Made changes to configure per Hendrik Leppkes's review of first
    and second versions of patch. Also made slight alterations per Marton
    Balint's reviews.

    Comments :

    — configure : Added if enabled decklink section and setting
    decklink_indev_extralibs and decklink_outdev_extralibs here for
    both mingw and Windows. Also eliminated the setting of these
    variables in the mingw section earlier in the file.

    — libavdevice/decklink_common.cpp : Switched the order of the include
    of libavformat/internal.h to workaround build issues with Visual
    C++. See comment in file for more details.

    — libavdevice/decklink_dec.cpp :
    a) Rearranged the include of libavformat/internal.h (for reasons as
    described above).
    b) Made slight alteration to an argument for call to av_rescale_q() to
    workaround a compiler error with Visual C++. This appears to only
    be an issue when building C++ files with Visual C++. See comment
    in code for more details.

    — libavdevice/decklink_enc.cpp : Rearranged the include of
    libavformat/internal.h (for reasons as described above).

    Signed-off-by : Aaron Levinson <alevinsn@aracnet.com>
    Signed-off-by : Marton Balint <cus@passwd.hu>

    • [DH] configure
    • [DH] libavdevice/decklink_common.cpp
    • [DH] libavdevice/decklink_dec.cpp
    • [DH] libavdevice/decklink_enc.cpp
  • swresample/resample : speed up build_filter by 50%

    4 novembre 2015, par Ganesh Ajjanagadde
    swresample/resample : speed up build_filter by 50%
    

    This speeds up build_filter by 50%. This gain should be pretty
    consistent across all architectures and platforms.

    Essentially, this relies on a observation that the filters have some
    even/odd symmetry that may be exploited during the construction of the
    polyphase filter bank. In particular, phases (scaled to [0, 1]) in [0.5, 1] are
    easily derived from [0, 0.5] and expensive reevaluation of function
    points are unnecessary. This requires some rather annoying even/odd
    bookkeeping as can be seen from the patch.

    I vaguely recall from signal processing theory more general symmetries allowing even greater
    optimization of the construction. At a high level, "even functions"
    correspond to 2, and one can imagine variations. Nevertheless, for the sake
    of some generality and because of existing filters, this is all that is
    being exploited.

    Currently, this patch relies on phase_count being even or (trivially) 1,
    though this is not an inherent limitation to the approach. This
    assumption is safe as phase_count is 1 << phase_bits, and is hence a
    power of two. There is no way for user API to set it to a nontrivial odd
    number. This assumption has been placed as an assert in the code.

    To repeat, this assumes even symmetry of the filters, which is the most common
    way to get generalized linear phase anyway and is true of all currently
    supported filters.

    As a side note, accuracy should be identical or perhaps slightly better
    due to this "forcing" filter symmetries leading to a better phase
    characteristic. As before, I can’t test this claim easily, though it may
    be of interest.

    Patch tested with FATE.

    Sample benchmark (x86-64, Haswell, GNU/Linux) :

    test : swr-resample-dblp-44100-2626

    new :
    527376779 decicycles in build_filter(loop 1000), 256 runs, 0 skips
    524361765 decicycles in build_filter(loop 1000), 512 runs, 0 skips
    516552574 decicycles in build_filter(loop 1000), 1024 runs, 0 skips

    old :
    974178658 decicycles in build_filter(loop 1000), 256 runs, 0 skips
    972794408 decicycles in build_filter(loop 1000), 512 runs, 0 skips
    954350046 decicycles in build_filter(loop 1000), 1024 runs, 0 skips

    Note that lower level optimizations are entirely possible, I focussed on
    getting the high level semantics correct. In any case, this should
    provide a good foundation.

    Reviewed-by : Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by : Ganesh Ajjanagadde <gajjanagadde@gmail.com>

    • [DH] libswresample/resample.c