
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (50)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (9580)
-
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 does not respect the -t option and keeps recording [closed]
21 juillet 2024, par Naman MuleyThe command I use is :


ffmpeg -f avfoundation -framerate 30 -i "2:0" -vcodec libx264 -pix_fmt yuv420p -acodec aac -strict experimental -t 10 ./recordings/tmp.mp4



With the above command, I expect the recording output to stop after 10 seconds. But the ffmpeg command keeps running and does not stop.
Feels like I am missing something basic but I have now spent 3 hours debugging and cannot figure out why.


Usecase :
I need to record my screen's video as well as audio for a specifiable amount of time.


According to the manual, putting
-t
before-i
limits the input recording and putting it after-i
limits the output recording. I believe after the-i
is the correct way to go.

Output of list devices :


ffmpeg -v verbose -f avfoundation -list_devices true -i ""
ffmpeg version 7.0.1 Copyright (c) 2000-2024 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.1.0.2.5)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/7.0.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
 libavutil 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100
 libpostproc 58. 1.100 / 58. 1.100
[AVFoundation indev @ 0x7fdc48f047c0] AVFoundation video devices:
[AVFoundation indev @ 0x7fdc48f047c0] [0] FaceTime HD Camera (Built-in)
[AVFoundation indev @ 0x7fdc48f047c0] [1] Screwdriver Desk View Camera
[AVFoundation indev @ 0x7fdc48f047c0] [2] Capture screen 0
[AVFoundation indev @ 0x7fdc48f047c0] [3] Capture screen 1
[AVFoundation indev @ 0x7fdc48f047c0] AVFoundation audio devices:
[AVFoundation indev @ 0x7fdc48f047c0] [0] Built-in Microphone
[AVFoundation indev @ 0x7fdc48f047c0] [1] Screwdriver Microphone
[in#0 @ 0x7fdc49904080] Error opening input: Input/output error
Error opening input file .
Error opening input files: Input/output error



- 

- I tried using different codecs and pix_fmt options.
- Tried moving the
-t
before the-i
option and after. no change.






Works with only audio input :
The below command that records only the audio works out just fine.


ffmpeg -f avfoundation -i ":0" -acodec libmp3lame -t 10 ./recordings/tmp.mp3



-
Why ffmpeg concat results wrong fps ? How to avoid it ?
29 avril 2024, par JinglongI have several mp4 video files and want to concat there video streams into a new mp4 file. The command I used shows below :


ffmpeg -f concat -safe 0 -i concat.txt -an -c:v copy -y out.mp4



The fps of result does not meet expectations.


For example, there are two input wrote in
concat.txt
:

file temp_result_0.mp4
file temp_result_1.mp4







 file 

duration 

number of frames 

fps 

tbr 







 temp_result_0.mp4 

60.0 

1200 

20 

20 




 temp_result_0.mp4 

0.1 

2 

20 

20 




 out.mp4 

60.1 

1202 

19.97 

20 







The
out.mp4
has correctduration
,nb_frames
but wrongavg_frame_rate
(expecting 20 but get 6010/301).

ng01@MacBook-Pro-3 Downloads % ffprobe -select_streams v:0 -show_entries stream=r_frame_rate,avg_frame_rate,nb_frames,duration out.mp4
ffprobe version 7.0 Copyright (c) 2007-2024 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.3.9.4)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0 --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-libopenvino --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
 libavutil 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100
 libpostproc 58. 1.100 / 58. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf60.14.100
 Duration: 00:01:00.10, start: 0.000000, bitrate: 1645 kb/s
 Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1080x1920 [SAR 1:1 DAR 9:16], 1643 kb/s, 19.97 fps, 20 tbr, 10240 tbn (default)
 Metadata:
 handler_name : VideoHandler
 vendor_id : [0][0][0][0]
[STREAM]
r_frame_rate=20/1
avg_frame_rate=6010/301
duration=60.100000
nb_frames=1202
[/STREAM]



I tried use lower version 4.1.3 of ffmpeg, the result has wrong fps and wrong duration. expectation duration is 60.10 but get 60.20