Recherche avancée

Médias (0)

Mot : - Tags -/organisation

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

Autres articles (17)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

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

  • Les statuts des instances de mutualisation

    13 mars 2010, par

    Pour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
    Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...)

Sur d’autres sites (3358)

  • How can I remove every nth frame from raw video using ffmpeg ?

    15 juin 2024, par DaveB44

    Question moved to SuperUser, please reply there

    


    I have many cine films that have been digitally converted. They have been converted as a 25 fps with 2 frames in every 23 duplicated. I need to remove the duplicated frames using a bitstream filter so there is no decoding/encoding.

    


    After removing the frames I will change to the original cine frame rate of 18 fps. I will then change the frame rate to 25 fps using duplicated frames. I don't want to interpolate as I want to preserve the jerky format of the cine. Finally I will video editing software that will do the final encoding.

    


    All the additional steps will cause several stages of decoding/encoding, that I need to avoid.

    


    First I used a combination of the answers to FFmpeg remove video frames at specific intervals and FFmpeg remove every 6th frame starting from the 3rd frame, on an mp4 file to check it works. I modified it to remove every 4th and 17th frame in 25.

    


    ffmpeg -loglevel warning -i cine.mp4 -an -vf "select='if((mod(n-4,25)),(mod(n-17,25)))',setpts='N/FRAME_RATE/TB'" cine-23.mp4


    


    This works fine, but I end up with a file a quarter the size.

    


    I now used Gyan's answer in Using ffmpeg to change framerate to extract the raw bitstream.

    


    ffmpeg -loglevel warning -i cine.mp4 -c copy -f h264 cine.h264


    


    This created the h264 file as expected, surprisingly it was 16 kB smaller than the original (67 GB file size).

    


    I then modified the code to use the .h264 file.

    


    ffmpeg -loglevel warning -i cine.h264 -vf "select='if((mod(n-4,25)),(mod(n-17,25)))',setpts='N/FRAME_RATE/TB'" cine-23.h264


    


    This gave the following error, but created the cine-23.h264 file although it was the same size as cine-23.mp4 in the test above

    


    [h264 @ 00000245ec0bfb80] non-existing SPS 0 referenced in buffering period
    Last message repeated 1 times


    


    I then checked the ffmpeg bitstream filter documentation and found the bitstream filter setts. I changed my code to the following.

    


    ffmpeg -loglevel warning -i cine.h264 -bsf:v "select='if((mod(n-4,25)),(mod(n-17,25)))',setts=pts='N/FRAME_RATE/TB'" cine-23.h264


    


    Which resulted in the following error.

    


    [vost#0:0/libx264 @ 000002916cf173c0] Error parsing bitstream filter sequence 'select='if((mod(n-4,25)),(mod(n-17,25)))',setts=pts='N/FRAME_RATE/TB'': Bitstream filter not found
Error opening output file cine-23.h264.
Error opening output files: Bitstream filter not found


    


    I'm assuming the error is because setts does not support select. Is there another way to achieve what I am looking for ?

    


    I could use mpdecimate but as that has to compare each frame it is much slower than defining it only needs to delete frames 4 and 17 in every second.

    


    This is the output of ffprobe on my original file.

    


    ffprobe version 2023-11-28-git-47e214245b-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. 32.100 / 58. 32.100
  libavcodec     60. 35.100 / 60. 35.100
  libavformat    60. 18.100 / 60. 18.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 'cine.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 19529864
    compatible_brands: mp42isom
    creation_time   : 2024-02-19T21:01:10.000000Z
  Duration: 00:01:00.00, start: 0.000000, bitrate: 9245 kb/s
  Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 720x576 [SAR 35:32 DAR 175:128], 9243 kb/s, 25 fps, 25 tbr, 25 tbn (default)
    Metadata:
      creation_time   : 2024-02-19T21:01:10.000000Z
      handler_name    : Video Media Handler
      vendor_id       : [0][0][0][0]
      encoder         : AVC Coding


    


  • avformat/rcwtdec : add RCWT Closed Captions demuxer

    2 avril 2024, par Marth64
    avformat/rcwtdec : add RCWT Closed Captions demuxer
    

    RCWT (Raw Captions With Time) is a format native to ccextractor,
    a commonly used OSS tool for processing 608/708 Closed Captions (CC).
    RCWT can be used to archive the original extracted CC bitstream.
    The muxer was added in January 2024. In this commit, add the demuxer.

    One can now demux RCWT files for rendering in ccaption_dec or interop
    with ccextractor (which produces RCWT). Using the muxer/demuxer combo,
    the CC bits can be kept for processing or rendering with either tool.
    This can be an effective way to backup an original CC stream, including
    format extensions like EIA-708 and overall original presentation.

    Signed-off-by : Marth64 <marth64@proxyid.net>

    • [DH] Changelog
    • [DH] doc/demuxers.texi
    • [DH] libavformat/Makefile
    • [DH] libavformat/allformats.c
    • [DH] libavformat/rcwtdec.c
  • Ffmpeg input seeking - "Invalid NAL unit size"

    30 janvier 2024, par Dimitris

    I'm trying to use ffmpeg to get a 10-second clip from the middle of a video. The execution time of the command is important, that's why I've decided to use combined input & output seeking (as illustrated here).&#xA;The input video file is a CMAF with fragmented MP4, duration of 10 minutes.

    &#xA;

    I'm testing on a Mac, Ffmpeg version is 6.1.1.

    &#xA;

    This is the command that I'm using :

    &#xA;

    ffmpeg -nostdin -y -ss 290 -copyts -start_at_zero -i https://devcdn.flowplayer.com/5f07362e-c358-41d0-857a-c64302a3fcc9/cmaf/17bdb16d-71d1-414c-a291-a028bd45b9ec/playlist_360.m3u8 -ss 300.0 -t 10 -vcodec libwebp -lossless 0 -quality 60 -compression_level 2 -loop 0 -an -sn output.webp&#xA;

    &#xA;

    Result : no output file is created.

    &#xA;

    From what I understand it fails to seek position "290" in the video, probably due to "Invalid NAL unit size" errors.

    &#xA;

    Here's the output :

    &#xA;

    ffmpeg version N-106797-g580fb6a8c9-tessus Copyright (c) 2000-2022 the FFmpeg developersbuilt with Apple clang version 11.0.0 (clang-1100.0.33.17)configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplaylibavutil      57. 24.101 / 57. 24.101libavcodec     59. 27.100 / 59. 27.100libavformat    59. 23.100 / 59. 23.100libavdevice    59.  6.100 / 59.  6.100libavfilter     8. 37.100 /  8. 37.100libswscale      6.  6.100 /  6.  6.100libswresample   4.  6.100 /  4.  6.100libpostproc    56.  5.100 / 56.  5.100Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;https://devcdn.flowplayer.com/5f07362e-c358-41d0-857a-c64302a3fcc9/cmaf/17bdb16d-71d1-414c-a291-a028bd45b9ec/playlist_360.cmfv&#x27;:Metadata:major_brand     : isomminor_version   : 1compatible_brands: isomavc1dashcmfccreation_time   : 2024-01-30T07:41:03.000000ZDuration: 00:09:56.54, start: 0.083333, bitrate: 458 kb/sStream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 640x360 [SAR 1:1 DAR 16:9], 1 kb/s, 24 fps, 24 tbr, 90k tbn (default)Metadata:creation_time   : 2024-01-30T07:41:03.000000Zhandler_name    : ETI ISO Video Media Handlervendor_id       : [0][0][0]ffmpeg version 6.1.1-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2023 the FFmpeg developers&#xA;  built with Apple clang version 11.0.0 (clang-1100.0.33.17)&#xA;  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay&#xA;  libavutil      58. 29.100 / 58. 29.100&#xA;  libavcodec     60. 31.102 / 60. 31.102&#xA;  libavformat    60. 16.100 / 60. 16.100&#xA;  libavdevice    60.  3.100 / 60.  3.100&#xA;  libavfilter     9. 12.100 /  9. 12.100&#xA;  libswscale      7.  5.100 /  7.  5.100&#xA;  libswresample   4. 12.100 /  4. 12.100&#xA;  libpostproc    57.  3.100 / 57.  3.100&#xA;[hls @ 0x7fc7bb904280] Skip (&#x27;#EXT-X-VERSION:6&#x27;)&#xA;[hls @ 0x7fc7bb904280] Opening &#x27;https://devcdn.flowplayer.com/5f07362e-c358-41d0-857a-c64302a3fcc9/cmaf/17bdb16d-71d1-414c-a291-a028bd45b9ec/playlist_360.cmfv&#x27; for reading&#xA;    Last message repeated 2 times&#xA;Input #0, hls, from &#x27;[**]/playlist_360.m3u8&#x27;:&#xA;  Duration: 00:09:56.46, start: 0.083333, bitrate: 0 kb/s&#xA;  Program 0 &#xA;    Metadata:&#xA;      variant_bitrate : 0&#xA;  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 640x360 [SAR 1:1 DAR 16:9], 1 kb/s, 24 fps, 24 tbr, 90k tbn (default)&#xA;    Metadata:&#xA;      variant_bitrate : 0&#xA;      compatible_brands: isomavc1dashcmfc&#xA;      handler_name    : ETI ISO Video Media Handler&#xA;      vendor_id       : [0][0][0][0]&#xA;      encoder         : Elemental H.264&#xA;      major_brand     : isom&#xA;      minor_version   : 1&#xA;      creation_time   : 2024-01-30T07:41:03.000000Z&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (h264 (native) -> webp (libwebp))&#xA;[hls @ 0x7fc7bb904280] Opening &#x27;https://devcdn.flowplayer.com/5f07362e-c358-41d0-857a-c64302a3fcc9/cmaf/17bdb16d-71d1-414c-a291-a028bd45b9ec/playlist_360.cmfv&#x27; for reading&#xA;    Last message repeated 2 times&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (1772342253 > 1534).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 1538&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-1977545460 > 1481).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 1485&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (1694403391 > 1582).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 1586&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-1404850266 > 1661).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 1665&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (703351242 > 1680).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 1684&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-836978648 > 1751).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 1755&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (752797651 > 1867).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 1871&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-1831058223 > 1833).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 1837&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-1238958831 > 2067).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2071&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (435683248 > 2090).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2094&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (2136335178 > 2229).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2233&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-1468707300 > 2203).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2207&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (482758774 > 2402).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2406&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-1079612217 > 2417).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2421&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-608087491 > 2546).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2550&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-1457748625 > 2527).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2531&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (1933919710 > 2734).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2738&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (1004643870 > 2803).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2807&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-207765435 > 2988).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2992&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-196888537 > 2306).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2310&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (1118966683 > 2620).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2624&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (1325583054 > 2715).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2719&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-2003602869 > 2906).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2910&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (1666330272 > 3085).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 3089&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (-742329993 > 2593).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2597&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (1326266794 > 2347).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2351&#xA;[NULL @ 0x7fc7bb804f40] Invalid NAL unit size (2459776 > 2155).&#xA;[NULL @ 0x7fc7bb804f40] missing picture in access unit with size 2159&#xA;[https @ 0x7fc7ba022a00] Opening &#x27;https://devcdn.flowplayer.com/5f07362e-c358-41d0-857a-c64302a3fcc9/cmaf/17bdb16d-71d1-414c-a291-a028bd45b9ec/playlist_360.cmfv&#x27; for reading&#xA;[...]&#xA;[vost#0:0/libwebp @ 0x7fc7bbb05780] No filtered frames for output stream, trying to initialize anyway.&#xA;Output #0, webp, to &#x27;output.webp&#x27;:&#xA;  Metadata:&#xA;    encoder         : Lavf60.16.100&#xA;  Stream #0:0(und): Video: webp, yuv420p(progressive), 640x360 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 24 fps, 1k tbn (default)&#xA;    Metadata:&#xA;      variant_bitrate : 0&#xA;      compatible_brands: isomavc1dashcmfc&#xA;      handler_name    : ETI ISO Video Media Handler&#xA;      vendor_id       : [0][0][0][0]&#xA;      creation_time   : 2024-01-30T07:41:03.000000Z&#xA;      major_brand     : isom&#xA;      minor_version   : 1&#xA;      encoder         : Lavc60.31.102 libwebp&#xA;[out#0/webp @ 0x7fc7bbb04900] video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown&#xA;[out#0/webp @ 0x7fc7bbb04900] Output file is empty, nothing was encoded(check -ss / -t / -frames parameters if used)&#xA;frame=    0 fps=0.0 q=0.0 Lsize=       0kB time=N/A bitrate=N/A speed=N/A &#xA;

    &#xA;

    What I've tried so far :

    &#xA;

      &#xA;
    1. Downloaded the input file to a local directory and used it as input to ffmpeg - same results.

      &#xA;

    2. &#xA;

    3. Used the mp4 file from the playlist directly as an input to ffmpeg - worked but execution time is very slow

      &#xA;

    4. &#xA;

    5. Emmited the input seeking part (-ss 290 -copyts -start_at_zero) from the command - worked but also very slow in terms of execution time

      &#xA;

    6. &#xA;

    &#xA;

    Any ideas on why I'm getting "Invalid NAL unit size" and how to make the command work with input seeking ?

    &#xA;