
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (67)
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
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 -
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 (10257)
-
Displaying the current frame of a video after skipping using drawtext/start_number not evaluation any variables
30 mars 2017, par DJ QuardaboffI would like to display the current frame number on a video while playing it with ffplay. I have already seen this solution, but when I seek to any part of the video, the counter resets. There’s a variable,
start_number
, which the ffplay documentation says isThe starting frame number for the n/frame_num variable. The default value is "0".
It seems that n is set to that when starting the video or seeking between I-frames. I thought setting this variable to%{floor(t*60)}
would solve my problem, but after running this :ffplay -i "video.mp4" -vf drawtext="fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}"
I got the following console output :
ffplay version N-84679-gd65b595 Copyright (c) 2003-2017 the FFmpeg developers
built with gcc 6.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 51.100 / 55. 51.100
libavcodec 57. 86.103 / 57. 86.103
libavformat 57. 67.100 / 57. 67.100
libavdevice 57. 3.101 / 57. 3.101
libavfilter 6. 78.100 / 6. 78.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':= 0B f=0/0
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 2017-03-30T02:49:20.000000Z
encoder : Open Broadcaster Software v0.659b
Duration: 00:05:36.85, start: 0.000000, bitrate: 72636 kb/s
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 162 kb/s (default)
Metadata:
creation_time : 2017-03-30T02:49:20.000000Z
handler_name : Sound Media Handler
Stream #0:1(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/iec61966-2-1), 2560x1440, 72465 kb/s, 60 fps, 60 tbr, 1k tbn, 120 tbc (default)
Metadata:
creation_time : 2017-03-30T02:49:20.000000Z
handler_name : Video Media Handler
encoder : AVC Coding
[drawtext @ 00000000122770e0] [Eval @ 0000000008f3eb60] Undefined constant or missing '(' in 't*60)'
[drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"
[drawtext @ 00000000122770e0] [Eval @ 0000000008f3ebd0] Undefined constant or missing '(' in 't*60)'
[drawtext @ 00000000122770e0] Unable to parse option value "floor(t*60)"
[drawtext @ 00000000122770e0] Error setting option start_number to value floor(t*60).
[Parsed_drawtext_0 @ 000000000263eca0] Error applying options to the filter.
Error initializing filter 'drawtext' with args 'fontsize=30:box=1:boxcolor=white:fontcolor=black:fontfile=/Windows/Fonts/arial.ttf:start_number=floor(t*60):text=%{n}'
0.01 A-V: nan fd= 0 aq= 22KB vq= 5866KB sq= 0B f=0/0In fact, any variable in
start_number
’s assignment invokes this error. I don’t know if I have the correct syntax, but does this mean it doesn’t evaluate expressions ? Or maybe it doesn’t accept variables for some reason ?After that downer I tried just setting the text to
%{t}
, which played the video, but repeatedly gave this error and had no text in the top left corner :[Parsed_drawtext_0 @ 0000000003e54ea0] %{t} is not known 0B f=0/0
So does the current time variable just not work in drawtext ?
Is there another way to write the current frame on the video or even on the console window ?Using Windows 10 Enterprise and the latest build of ffplay for windows at this time.
-
How to force A/V sync using mkvmerge and external time-codes ?
19 avril 2017, par b..Background
I’m working on a project where video and audio are algorithmic interpretations of an MKV source file where I use ffmpeg -ss and -t to extract a particular region of audio and video to separate files. I use scene changes in the video in the audio process (i.e. the audio changes on video scene change), so sync is crucial.
Audio is 48khz, using 512 sample blocks.
Video is 23.976fps (I also tried 24).I store the frame onset of sceneChanges in a file in terms of cumulative blocks :
blocksPerFrame = (48000 / 512) / 23.976
sceneOnsetBlock = sceneOnsetFrame*blocksPerFrameI use these blocks in my audio code to treat the samples associated with each scene as a group.
When I combine the audio and video back together (currently using ffmpeg to generate mp4(v) mp3(a) in an MKV container), the audio and video start off in sync but increasingly drifts until it ends up being 35 seconds off. The worst part is that the audio lag is nonlinear ! By non-linear, I mean that if I plot the lag against the location of that lag in time, I don’t get a line, but what you see in the image below). I can’t just shift or scale the audio to fit the video because of this nonlinearity. I cannot figure out the cause of this nonlinearly increasing audio delay ; I’ve double and triple checked my math.
Since I know the exact timing of scene changes, I should be able to generate "external timecodes" (from the blocks above) for mkvmerge to perfectly sync the output !
Subquestions :
-
Is this the best approach (beyond trying to figure out what went wrong in the first place) ? As I’m using my video frames as a
reference, if I use the scene changes as timecodes for the audio,
will it force the video to match the audio or vice versa ? I’m much less concerned with the duration than the sync. The video was much more laborious to produce, so I’d rather loose some sound than some frames. -
I’m not clear on what numbers to use in the timecodes file.
According to mkvmerge documentation "For video this is exactly
one frame, for audio this is one packet of the specific audio type."
Since I’m using MP3, what is the packet size ? Ideally, I could specify a packetsize (in the audio-encoder ?) that matches my block size (512) to keep things consistent and simple. Can I do this with ffmpeg ?
Thank you !
-
-
Video Recording doesn't capture entire duration of a designated time
18 avril 2017, par Carl RoguesI am having an issue dealing with a video recording issue for security cameras. The cameras in question have been set to record 5 minute videos and then start on the next recording. However, I have noticed that the videos that I pull up only have a common file size of 28 MB. The quality of the videos starts off great, but immediately start declining to the point where a few seconds of motion in real life are stretched out to minutes of the recording (takes more than 20s to see the next frame), thus losing precious seconds.
I originally thought that bandwidth might be a problem, but I don’t have enough evidence to support this theory. However the problem only began recently and the video file sizes from the past were 150 MB on average. I am only starting out in this area, but here is some of the specifics I have gathered from the sh scripts running the cameras :
Livestreaming :
-
fps : 15
-
codec : libx264
-
resolution : 640x480
-
preset : superfast
-
pixel format : yuv420p
-
tune : zerolatency
Motion Detect :
-
fps : 24
-
resolution : 1280x720
-
format : mjpeg
Recording :
-
Duration : 5 minutes (300 seconds)
-
format : mjpeg
-
video codec : libx264
-
probesize : 32
-
analyzeduration : 0
-
preset : ultrafast
-
pixel format : yuvj420p
Here is the recording input and output :
ff_264opts="-c:v libx264 -preset ultrafast-pix_fmt yuvj420p"
ff_input="-y -probesize 32 -analyzeduration 0 -f mjpeg -re -use_wallclock_as_timestamps 1 -i http://localhost/${camera}_stream/?action=stream"
ffmpeg ${ff_input} ${ff_264opts} -t $duration $video_file > /dev/null 2> $ffmpeg_log_fileMy question is why am I having this issue ? Any help and/or advice would be greatly appreciated !
It should be noted that I am using 4 cameras that are connected to one system.
The cameras are 2.0MP usb cameras from ELP and do not come with built-in H.264 (Uses mjpeg).
-