
Recherche avancée
Autres articles (45)
-
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...) -
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users. -
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)
Sur d’autres sites (6826)
-
Cohort Analysis 101 : How-To, Examples & Top Tools
13 novembre 2023, par Erin — Analytics Tips -
Increased File Size When Converting MP4 to WebM using FFmpeg
23 décembre 2024, par kimgijeongI am using FFmpeg to convert MP4 to WebM with the following command :


ffmpeg -y -hide_banner -nostats \
-f mov,mp4,m4a,3gp,3g2,mj2 -i "http://127.0.0.1:80/lotteon-low-bitrate.mp4" \
-threads auto -f webm -acodec libopus -b:a 96.059k -vcodec libsvtav1 -preset 11 -pix_fmt yuv420p \
-vf "scale='min(-1, iw)':'min(-1,ih)':force_original_aspect_ratio=decrease,crop=trunc(iw/2)*2:trunc(ih/2)*2" \
"/usr/local/m2/m2temp/xcdrtmp/2052_1.webm"



However, the output webm file size is larger than the source MP4 file. For example :


- 

-
Source MP4 : 4.6 MB (bit rate : 994,053 bps)


-
Output WebM : 16 MB (bit rate : 3,902,037 bps)








I know SVT-AV1 encoder defaults to CRF mode. Due to not specifying the bitrate explicitly, the SVT-AV1 encoder automatically sets the bit_rate. It appears that the encoder is setting it to a much higher value (3,323,104 bps), causing the increase in file size compared to the source MP4 (994,053 bps). Here are the methods i tried to reduce the WebM file size compared to the source MP4 :


- 

-b:v 994k




I tried to match the target bitrate with the source MP4's bitrate to reduce the output size, but encountered the following error :


Svt[error]: Instance 1: Force key frames is not supported for VBR mode Last message r
epeated 2 times [libsvtav1 @ 0x239dd100] Error setting encoder parameters: bad parameter (0x80001005)



Looking at the official documentation, this mode change (from CRF to VBR when setting a target bitrate) appears to be expected behavior. However, the error is puzzling since I haven't set any force keyframe parameters in the FFmpeg command.


- 

svtav1-params "mbr=994k"




The second method i tried was using the
svtav1-params "mbr=994k"
option to set the maxrate while maintaining CRF mode This method showed some improvement, but the output file size was still larger than the source MP4.

- 

- Output WebM : 5MB (bit rate : 1,209,877 bps)




The more critical reason why we can't adopt the second method (using
svtav1-params "mbr=994k"
) is that even for the same MP4 source file, the output file size varies slightly with each encoding.

- 

-b:v 994k -svtav1-params “rc=2:pred-struct=1”
(CBR, low delay)




The final method I tried was setting the target bitrate while using CBR (Constant Bit Rate) and low-delay mode The default value for pred-structure is 2(random access), but I had to use low-delay mode due to the following error :


Svt[error]: CBR Rate control is currently not supported for SVT_AV1_PRED_RANDOM_ACCESS, use VBR mode



This way was the only approach among those i tried that successfully reduced the output size.


- 

- Output WebM : 4.3MB (bit rate : 1,032,373 bps)




In summary, I have three questions about this MP4 to WebM conversion issue :


- 

-
When setting the target bitrate with -b:v 994k, the switch to VBR mode is expected behavior. However, why does the force keyframe error occur when we haven't explicitly set any force keyframe parameters ?


-
Why does the output WebM file size fluctuate when setting maxrate either through -maxrate or svtav1-params "mbr=994k", even when using the same MP4 source file ?


-
Besides using -b:v 994k -svtav1-params "rc=2:pred-struct=1" (CBR with low delay), are there any other methods that can guarantee a WebM output size smaller than the source MP4 when converting from MP4 to WebM ?










I am using a recent version of the SVT-AV1 codec :


Svt[info]: SVT [version]: SVT-AV1 Encoder Lib 58146ca
Svt[info]: SVT [build] : GCC 11.5.0 20240719 (Red Hat 11.5.0-2) 64 bit
Svt[info]: LIB Build date: Oct 28 2024 07:40:59
ffmpeg video svt-av1



-
-
Ffmpeg RTSP stream with size=N/A bitrate=N/A [closed]
6 octobre 2024, par ComycosWhen I try to stream a video it seems to work but bitrate and size are N/A
frame= 277 fps= 26 q=-1.0 size=N/A time=00:00:11.07 bitrate=N/A speed=1.05x


I run the following command to stream a video to a RTSP server :

ffmpeg -re -stream_loop -1 -i idurre-2024-09-17-12h33m19s.mp4 -c copy -f rtsp -rtsp_transport tcp rtsp://localhost:8554/test


The output ffmpeg is like this :


ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.1.0.2.5)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1 --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
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x127704880] st: 0 edit list: 1 Missing key frame while searching for timestamp: 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x127704880] st: 0 edit list 1 Cannot find an index entry before timestamp: 0.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'idurre-2024-09-17-12h33m19s.mp4':
 Metadata:
 major_brand : isom
 minor_version : 0
 compatible_brands: mp41avc1
 creation_time : 2024-09-17T10:34:16.000000Z
 encoder : vlc 3.0.21 stream output
 encoder-eng : vlc 3.0.21 stream output
 Duration: 00:00:55.68, start: 0.000000, bitrate: 16205 kb/s
 Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 1920x1080, 16203 kb/s, 25 fps, 25 tbr, 1000k tbn (default)
 Metadata:
 creation_time : 2024-09-17T10:34:16.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Output #0, rtsp, to 'rtsp://localhost:8554/test':
 Metadata:
 major_brand : isom
 minor_version : 0
 compatible_brands: mp41avc1
 encoder : Lavf61.7.100
 Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 1920x1080, q=2-31, 16203 kb/s, 25 fps, 25 tbr, 90k tbn (default)
 Metadata:
 creation_time : 2024-09-17T10:34:16.000000Z
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
Press [q] to stop, [?] for help
frame= 516 fps= 26 q=-1.0 size=N/A time=00:00:20.63 bitrate=N/A speed=1.03x 

[q] command received. Exiting.

[out#0/rtsp @ 0x6000008e0240] video:40672KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 528 fps= 26 q=-1.0 Lsize=N/A time=00:00:21.11 bitrate=N/A speed=1.02x 



The server I'm streaming to is a MediaMTX which is supposed to receive the stream. It seems to be connected as it logs it :


mediamtx-rtsp | 2024/10/06 10:35:13 INF MediaMTX v1.9.0
mediamtx-rtsp | 2024/10/06 10:35:13 INF configuration loaded from /mediamtx.yml
mediamtx-rtsp | 2024/10/06 10:35:13 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
mediamtx-rtsp | 2024/10/06 10:35:13 INF [SRT] listener opened on :8890 (UDP)
mediamtx-rtsp | 2024/10/06 10:35:16 INF [RTSP] [conn 192.168.65.1:17069] opened
mediamtx-rtsp | 2024/10/06 10:35:16 INF [RTSP] [session b3bb2623] created by 192.168.65.1:17069
mediamtx-rtsp | 2024/10/06 10:35:16 INF [RTSP] [session b3bb2623] is publishing to path 'test', 1 track (H264)



But when I try to read it with ffplay nothing is showing...