
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (67)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPré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 ) (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (12342)
-
FFmpeg and reserved color primaries [closed]
21 janvier, par YozI am trying to get thumbnails from a hevc video downloaded from https://github.com/stashapp/stash/issues/4124#issuecomment-1720057183 and it works with most recent ffmpeg 7.1 (installed via homebrew on mac) printing :


ffmpeg -i input.mp4 -frames:v 1 out.jpg



ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
 built with Apple clang version 16.0.0 (clang-1600.0.26.4)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1_4 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
 libavutil 59. 39.100 / 59. 39.100
 libavcodec 61. 19.100 / 61. 19.100
 libavformat 61. 7.100 / 61. 7.100
 libavdevice 61. 3.100 / 61. 3.100
 libavfilter 10. 4.100 / 10. 4.100
 libswscale 8. 3.100 / 8. 3.100
 libswresample 5. 3.100 / 5. 3.100
 libpostproc 58. 3.100 / 58. 3.100
[hevc @ 0x134f07530] VPS 0 does not exist
[hevc @ 0x134f07530] SPS 0 does not exist.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 512
 compatible_brands: mp42iso2mp41
 creation_time : 2023-09-14T19:46:05.000000Z
 encoder : HandBrake 1.5.1 2022011000
 Duration: 00:01:26.05, start: 0.000000, bitrate: 231 kb/s
 Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709/reserved/bt709), 648x648 [SAR 1:1 DAR 1:1], 188 kb/s, 30 fps, 30 tbr, 90k tbn (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 36 kb/s (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : Mono
 vendor_id : [0][0][0][0]
[hevc @ 0x1358065c0] VPS 0 does not exist
[hevc @ 0x1358065c0] SPS 0 does not exist.
Stream mapping:
 Stream #0:0 -> #0:0 (hevc (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'out.jpg':
 Metadata:
 major_brand : mp42
 minor_version : 512
 compatible_brands: mp42iso2mp41
 encoder : Lavf61.7.100
 Stream #0:0(und): Video: mjpeg, yuv420p(pc, bt709/reserved/bt709, progressive), 648x648 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 30 fps, 30 tbn (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 encoder : Lavc61.19.100 mjpeg
 Side data:
 cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[image2 @ 0x134f16080] The specified filename 'out.jpg' does not contain an image sequence pattern or a pattern is invalid.
[image2 @ 0x134f16080] Use a pattern such as %03d for an image sequence or use the -update option (with -frames:v 1 if needed) to write a single image.
[out#0/image2 @ 0x134f10480] video:5KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 1 fps=0.0 q=5.1 Lsize=N/A time=00:00:00.03 bitrate=N/A speed=4.07x 



however, when I use custom compiled ffmpeg.wasm it fails with :


ffmpeg version N-118050-ga518b5540d Copyright (c) 2000-2024 the FFmpeg developers
 built with emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.73 (ac676d5e437525d15df5fd46bc2c208ec6d376a3)
 configuration: --target-os=none --arch=x86_32 --enable-cross-compile --enable-version3 --enable-zlib --enable-libaom --disable-encoder=libaom_av1 --enable-libopenh264 --enable-libkvazaar --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libopus --enable-libwebp --enable-libsvtav1 --enable-librubberband --disable-x86asm --disable-inline-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-autodetect --extra-cflags='-O3 -flto -I/ffmpeg-wasm/build/include -pthread -msimd128' --extra-cxxflags='-O3 -flto -I/ffmpeg-wasm/build/include -pthread -msimd128' --extra-ldflags='-O3 -flto -I/ffmpeg-wasm/build/include -pthread -msimd128 -L/ffmpeg-wasm/build/lib' --pkg-config-flags=--static --nm=emnm --ar=emar --ranlib=emranlib --cc=emcc --cxx=em++ --objcc=emcc --dep-cc=emcc --enable-gpl --enable-libx264 --enable-libx265
 libavutil 59. 49.100 / 59. 49.100
 libavcodec 61. 26.100 / 61. 26.100
 libavformat 61. 9.100 / 61. 9.100
 libavdevice 61. 4.100 / 61. 4.100
 libavfilter 10. 6.101 / 10. 6.101
 libswscale 8. 12.100 / 8. 12.100
 libswresample 5. 4.100 / 5. 4.100
 libpostproc 58. 4.100 / 58. 4.100
[hevc @ 0x38d0000] VPS 0 does not exist
[hevc @ 0x38d0000] SPS 0 does not exist.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 512
 compatible_brands: mp42iso2mp41
 creation_time : 2023-09-14T19:46:05.000000Z
 encoder : HandBrake 1.5.1 2022011000
 Duration: 00:01:26.05, start: 0.000000, bitrate: 231 kb/s
 Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709/reserved/bt709), 648x648 [SAR 1:1 DAR 1:1], 188 kb/s, 30 fps, 30 tbr, 90k tbn (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
 Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 36 kb/s (default)
 Metadata:
 creation_time : 2023-09-14T19:46:05.000000Z
 handler_name : Mono
 vendor_id : [0][0][0][0]
[hevc @ 0x38d0300] VPS 0 does not exist
[hevc @ 0x38d0300] SPS 0 does not exist.
Stream mapping:
 Stream #0:0 -> #0:0 (hevc (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x8ca0000] Unsupported input (Not supported): fmt:yuv420p csp:bt709 prim:reserved trc:bt709 -> fmt:yuv420p csp:bt709 prim:reserved trc:bt709
[vf#0:0 @ 0x3830900] Error while filtering: Not supported
[vf#0:0 @ 0x3830900] Task finished with error code: -138 (Not supported)
[vost#0:0/mjpeg @ 0x385ae40] [enc:mjpeg @ 0x3878b80] Could not open encoder before EOF
[vf#0:0 @ 0x3830900] Terminating thread with return code -138 (Not supported)
[vost#0:0/mjpeg @ 0x385ae40] Task finished with error code: -28 (Invalid argument)
[vost#0:0/mjpeg @ 0x385ae40] Terminating thread with return code -28 (Invalid argument)
[out#0/image2 @ 0x3851580] Nothing was written into output file, because at least one of its streams received no packets.
frame= 0 fps=0.0 q=0.0 Lsize= 0KiB time=N/A bitrate=N/A speed=N/A 
Conversion failed!
Process finished with exit code -138.



I figured out the issue is color primaries
prim:reserved
, and the command can be updated to a working one by re-writing input primaries as following :

ffmpeg -i input.mp4 -vf "colorspace=all=bt709:iprimaries=bt709" -frames:v 1 out.jpg



However, I would like to compile ffmpeg.wasm so that it handles reserved primaries just like the one from homebrew.


Any idea what the compiled ffmpeg.wasm is missing ?


-
libavformat : add RCWT closed caption muxex
14 janvier 2024, par Marth64libavformat : add RCWT closed caption muxex
Signed-off-by : Marth64 <marth64@proxyid.net>
Raw Captions With Time (RCWT) is a format native to ccextractor, a commonly
used open source tool for processing 608/708 closed caption (CC) sources.
It can be used to archive the original, raw CC bitstream and to produce
a source file file for later CC processing or conversion. As a result,
it also allows for interopability with ccextractor for processing CC data
extracted via ffmpeg. The format is simple to parse and can be used
to retain all lines and variants of CC.A free specification of RCWT can be found here :
https://github.com/CCExtractor/ccextractor/blob/master/docs/BINARY_FILE_FORMAT.TXT
This muxer implements the specification as of 01/05/2024, which has
been stable and unchanged for 10 years as of this writing.This muxer will have some nuances from the way that ccextractor muxes RCWT.
No compatibility issues when processing the output with ccextractor
have been observed as a result of this so far, but mileage may vary
and outputs will not be a bit-exact match.Specifically, the differences are :
(1) This muxer will identify as "FF" as the writing program identifier, so
as to be honest about the output's origin.(2) ffmpeg's MPEG-1/2, H264, HEVC, etc. decoders extract closed captioning
data differently than ccextractor from embedded SEI/user data.
For example, DVD captioning bytes will be translated to ATSC A53 format.
This allows ffmpeg to handle 608/708 in a consistant way downstream.
This is a lossless conversion and the meaningful data is retained.(3) This muxer will not alter the extracted data except to remove invalid
packets in between valid CC blocks. On the other hand, ccextractor
will by default remove mid-stream padding, and add padding at the end
of the stream (in order to convey the end time of the source video). -
9 Form Optimisation Tips to Convert More Visitors
15 février 2024, par Erin