
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 (8)
-
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...) -
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)
Sur d’autres sites (2861)
-
Ignore streams when finding stream info
17 mars 2018, par CSNewmanI’m trying to speed up the start of ffmpeg when processing my live stream, and have narrowed down the issue to the ‘avformat_find_stream_info’ function. The source I’m trying to process seems to have a number of streams that ffmpeg is unable to determine what they are and therefore spends a while trying to find information about them (The entire analyse window). I know ahead of time that I only want to find information about stream #0:0 and #0:1, and I will be disregarding the other streams anyways.
I managed to work around this using the API by setting the number of streams before the find information call and then restoring the value afterwards.
inputContext->nb_streams = (uint) 2;
if (ffmpeg.avformat_find_stream_info(inputContext, null) < 0)
{
throw new InvalidOperationException("Could not read stream information.");
}
inputContext->nb_streams = oldSize;However, I would prefer to use the CLI interface of ffmpeg.
My current command
ffmpeg -find_stream_info false -i http://192.168.1.112:5004/auto/v1 -c copy -map 0:v:0 -map 0:a:0 -ignore_unknown -f hls -hls_flags delete_segments -segment_list playlist.m3u8 -segment_list_type hls -segment_list_size 10 -segment_list_flags +live -segment_time 10 -f segment stream%%05d.ts
Giving the following input (Unneeded logging removed)
[mpeg2video @ 000001ce79423440] Invalid frame dimensions 0x0.
Last message repeated 9 times
[mpegts @ 000001ce7941b740] Could not find codec parameters for stream 5 (Unknown: none ([11][0][0][0] / 0x000B)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ce7941b740] Could not find codec parameters for stream 6 (Unknown: none ([11][0][0][0] / 0x000B)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ce7941b740] Could not find codec parameters for stream 7
(Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 000001ce7941b740] Could not find codec parameters for stream 8
(Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'http://192.168.1.112:5004/auto/v1':
Duration: N/A, start: 91296.182311, bitrate: N/A
Program 4165
Stream #0:0[0x65]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, top first), 704x576 [SAR 16:11 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x66](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
Stream #0:2[0x6a](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, mono, s16p, 64 kb/s (visual impaired) (dependent)
Stream #0:3[0x69](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:4[0x98]: Audio: mp2 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, s16p, 128 kb/s
Stream #0:5[0x1c21]: Unknown: none ([11][0][0][0] / 0x000B)
Stream #0:6[0x1c33]: Unknown: none ([11][0][0][0] / 0x000B)
Stream #0:7[0x1bbf]: Unknown: none ([5][0][0][0] / 0x0005)
Stream #0:8[0x1bc1]: Unknown: none ([5][0][0][0] / 0x0005)I’m unsure if there’s a way to achieve the same functionality with the CLI, however I’m open changing how my setup works.
One idea that I considered was running two ffmpeg instances, one to strip the unneeded streams (and not find the stream info) and then have another that takes that stripped stream and performs the rest of the functionality.
Any insight here would be grateful, thanks in advance.
-
create Accord.Video.FFMPEG object intial error
14 mars 2018, par lokcyiI create an project with C# Visual studio 2013 and reference Accord.Video.FFMPEG.dll.
The Configure of projects Target Platforms is set to x86.
It is ok while compileing.
But,It would throw run time error when application running.
The exception is below. showing =>This application cannot be run in 64-bits
I have no idea what wrong with the error ?System.TypeInitializationException IsTransient=false
Message='<module>' 的型別初始設定式發生例外狀況。
Source=VideoMarkerAccord
TypeName=<module>
StackTrace:
於 VideoMarker.Form1.test()
於 VideoMarker.Form1.ConvertVedio(Int32 iFps, Int32 bitrate, Int32 width, Int32 height, Int32 iSpeed, String sOutputPath, String xml, String sVCode) 於 d:\Projects\AForge\VideoMarkerAccord\VideoMarker\Form1.cs: 行 201
於 VideoMarker.Form1.btnConvertVedio_Click(Object sender, EventArgs e) 於 d:\Projects\AForge\VideoMarkerAccord\VideoMarker\Form1.cs: 行 181
於 System.Windows.Forms.Control.OnClick(EventArgs e)
於 System.Windows.Forms.Button.OnClick(EventArgs e)
於 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
於 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
於 System.Windows.Forms.Control.WndProc(Message& m)
於 System.Windows.Forms.ButtonBase.WndProc(Message& m)
於 System.Windows.Forms.Button.WndProc(Message& m)
於 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
於 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
於 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
於 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
於 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
於 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
於 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
於 System.Windows.Forms.Application.Run(Form mainForm)
於 VideoMarker.Program.Main() 於 d:\Projects\AForge\VideoMarkerAccord\VideoMarker\Program.cs: 行 18
於 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
於 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
於 System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
於 System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
於 System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
於 System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
於 System.Activator.CreateInstance(ActivationContext activationContext)
於 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
於 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
於 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
於 System.Threading.ThreadHelper.ThreadStart()
InnerException: <crtimplementationdetails>.ModuleLoadException
_HResult=-2146233088
_message=The C++ module failed to load during process initialization.
IsTransient=false
Message=The C++ module failed to load during process initialization.
Source=msvcm90
StackTrace:
於 <crtimplementationdetails>.ThrowModuleLoadException(String errorMessage, Exception innerException)
於 <crtimplementationdetails>.ThrowModuleLoadException(String , Exception )
於 <crtimplementationdetails>.LanguageSupport.Initialize(LanguageSupport* )
於 .cctor()
InnerException: System.InvalidOperationException
_HResult=-2146233079
_message=This application cannot be run in 64-bits.
IsTransient=false
Message=This application cannot be run in 64-bits.
Source=Accord.Video.FFMPEG
StackTrace:
於 _init.{ctor}(_init* )
於 ?A0xbe509209.??__E?A0xbe509209@_initializer@@YMXXZ()
於 _initterm_m((fnptr)* pfbegin, (fnptr)* pfend)
於 <crtimplementationdetails>.LanguageSupport.InitializePerProcess(LanguageSupport* )
於 <crtimplementationdetails>.LanguageSupport._Initialize(LanguageSupport* )
於 <crtimplementationdetails>.LanguageSupport.Initialize(LanguageSupport* )
InnerException:
</crtimplementationdetails></crtimplementationdetails></crtimplementationdetails></crtimplementationdetails></crtimplementationdetails></crtimplementationdetails></crtimplementationdetails></module></module> -
Python animation ffmpeg error - ValueError : I/O operation on closed file
27 février 2018, par RobI’m trying to follow this example here to do a simple animation : https://matplotlib.org/examples/animation/basic_example_writer.html
I get this error :
ValueError Traceback (most recent call last)
/fsr/rfs07/ELEGANCE/work/code/python/s5p/animation_test.py in <module>()
25 line_ani = animation.FuncAnimation(fig1, update_line, 25, fargs=(data, l),
26 interval=50, blit=True)
---> 27 line_ani.save('lines.mp4', writer=writer)
28
29 fig2 = plt.figure()
/software/local/apps/python/2.7.9/lib/python2.7/site-packages/matplotlib/animation.pyc in save(self, filename, writer, fps, dpi, codec, bitrate, extra_args, metadata, extra_anim, savefig_kwargs)
1061 # TODO: See if turning off blit is really necessary
1062 anim._draw_next_frame(d, blit=False)
-> 1063 writer.grab_frame(**savefig_kwargs)
1064
1065 # Reconnect signal for first draw if necessary
/software/local/apps/python/2.7.9/lib/python2.7/contextlib.pyc in __exit__(self, type, value, traceback)
33 value = type()
34 try:
---> 35 self.gen.throw(type, value, traceback)
36 raise RuntimeError("generator didn't stop after throw()")
37 except StopIteration, exc:
/software/local/apps/python/2.7.9/lib/python2.7/site-packages/matplotlib/animation.pyc in saving(self, *args, **kw)
287 yield self
288 finally:
--> 289 self.finish()
290
291 def _run(self):
/software/local/apps/python/2.7.9/lib/python2.7/site-packages/matplotlib/animation.pyc in finish(self)
307 def finish(self):
308 'Finish any processing for writing the movie.'
--> 309 self.cleanup()
310
311 def grab_frame(self, **savefig_kwargs):
/software/local/apps/python/2.7.9/lib/python2.7/site-packages/matplotlib/animation.pyc in cleanup(self)
346 def cleanup(self):
347 'Clean-up and collect the process used to write the movie file.'
--> 348 out, err = self._proc.communicate()
349 self._frame_sink().close()
350 verbose.report('MovieWriter -- '
/software/local/apps/python/2.7.9/lib/python2.7/site-packages/subprocess32.pyc in communicate(self, input, timeout)
925
926 try:
--> 927 stdout, stderr = self._communicate(input, endtime, timeout)
928 finally:
929 self._communication_started = True
/software/local/apps/python/2.7.9/lib/python2.7/site-packages/subprocess32.pyc in _communicate(self, input, endtime, orig_timeout)
1711 if _has_poll:
1712 stdout, stderr = self._communicate_with_poll(input, endtime,
-> 1713 orig_timeout)
1714 else:
1715 stdout, stderr = self._communicate_with_select(input, endtime,
/software/local/apps/python/2.7.9/lib/python2.7/site-packages/subprocess32.pyc in _communicate_with_poll(self, input, endtime, orig_timeout)
1767 select_POLLIN_POLLPRI = select.POLLIN | select.POLLPRI
1768 if self.stdout:
-> 1769 register_and_append(self.stdout, select_POLLIN_POLLPRI)
1770 stdout = self._fd2output[self.stdout.fileno()]
1771 if self.stderr:
/software/local/apps/python/2.7.9/lib/python2.7/site-packages/subprocess32.pyc in register_and_append(file_obj, eventmask)
1746 poller = select.poll()
1747 def register_and_append(file_obj, eventmask):
-> 1748 poller.register(file_obj.fileno(), eventmask)
1749 self._fd2file[file_obj.fileno()] = file_obj
1750
ValueError: I/O operation on closed file
</module>ffmpeg on it’s own outside of python seems to work ok so I’m not really sure how to get this working ?
I’ve tried using imagemagick as an alternative
e.g.
line_ani.save(’lines.gif’, writer=’imagemagick’)but this results in the gif jumping around between frames