
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (106)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)
Sur d’autres sites (9988)
-
How create dynamic folder with input structure in shell script when using ffmpeg ?
23 octobre 2020, par Sathish Kumari have created this shell script to encode videos using ffmpeg. i need to maintain the folder structure of input and output folder automatically when i run this script.


Problem : As of now, it moves all videos to root of destination directory. it need to create subfolder and output file should save in it.


Input folder :


Folder1
--sub_folder
---video1.mkv
---video2.ts
---video3.mp4
Folder2
---cat.mkv
---mouse.ts
---train.mp4




Expected Output folder :


Folder1
--sub_folder
---video1.mp4
---video2.mp4
---video3.mp4
Folder2
---cat.mp4
---mouse.mp4
---train.mp4



Code :


srcDir=$1
destDir=$2

for filename in $(find "$srcDir" -type f); do

 basePath=${filename%.*}
 baseName=${basePath##*/}

 audioformat=$(ffprobe -loglevel error -select_streams a:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$filename")
 videoformat=$(ffprobe -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1:nk=1 "$filename")

 if [ "$audioformat" == "aac" ] && [ "$videoformat" == "h264" ] ; then
 echo $filename
 echo $audioformat + $videoformat
 ffmpeg -i "$filename" -y -c:v copy -c:a copy "$destDir"/"$baseName.mp4" -hide_banner -loglevel warning 
 elif [ "$audioformat" == "aac" ] && [ "$videoformat" != "h264" ] ; then
 echo $filename
 echo $audioformat + $videoformat
 ffmpeg -i "$filename" -y -c:v libx264 -c:a copy "$destDir"/"$baseName.mp4" -hide_banner -loglevel warning 
 elif [ "$audioformat" != "aac" ] && [ "$videoformat" == "h264" ] ; then
 echo $filename
 echo $audioformat + $videoformat
 ffmpeg -i "$filename" -y -c:v copy -c:a aac "$destDir"/"$baseName.mp4" -hide_banner -loglevel warning 
 else
 echo $filename
 echo $audioformat + $videoformat
 ffmpeg -i "$filename" -y -c:v libx264 -c:a aac "$destDir"/"$baseName.mp4" -hide_banner -loglevel warning 
 fi


done



if possible , check whether this code looks good.


-
Python ImageIO : Too many open files
24 août 2017, par orbv12I am using imageio in python in order to open all video files in a directory and convert them to numpy arrays.
Here is the script I am using :
1 from __future__ import print_function
2 from avi_to_numpy import *
3 from os import listdir
4 import numpy as np
5 import imageio
6
7 class_path = '../Diving/'
8 max_frames = 16
9 stride = 8
10 videos = [vid for vid in listdir(class_path)]
11 train = []
12
13 for vid in videos:
14 print(str.format('Loading {}...', vid), end="")
15 filename = class_path + vid
16 reader = imageio.get_reader(filename, 'ffmpeg')
17 frames = []
18
19 for i, im in enumerate(reader):
20 if len(frames) == max_frames:
21 break
22
23 if i % stride == 0:
24 frames.append(im)
25
26 reader.close()
27 train.append(np.array(frames))
28 print('done')
29
30
31 print(len(train))Eventually this script crashes with the following error output :
Traceback (most recent call last):
File "load_class_test.py", line 16, in <module>
reader = imageio.get_reader(filename, 'ffmpeg')
File "/usr/local/lib/python2.7/site-packages/imageio/core/functions.py", line 111, in get_reader
return format.get_reader(request)
File "/usr/local/lib/python2.7/site-packages/imageio/core/format.py", line 158, in get_reader
return self.Reader(self, request)
File "/usr/local/lib/python2.7/site-packages/imageio/core/format.py", line 207, in __init__
self._open(**self.request.kwargs.copy())
File "/usr/local/lib/python2.7/site-packages/imageio/plugins/ffmpeg.py", line 260, in _open
self._initialize()
File "/usr/local/lib/python2.7/site-packages/imageio/plugins/ffmpeg.py", line 326, in _initialize
stdout=sp.PIPE, stderr=sp.PIPE)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1223, in _execute_child
errpipe_read, errpipe_write = self.pipe_cloexec()
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1175, in pipe_cloexec
r, w = os.pipe()
OSError: [Errno 24] Too many open files
</module>I am closing the Reader object from imageio. It seems as if the files opened by ffmpeg are not being closed properly.
Is there an obvious step I am missing here ? Am I closing the files properly ?
EDIT : Found temporary solution. Opened a new issue on github.
I was able to resolve the issue by uncommenting the following lines of code from ’imageio/plugins/ffmpeg.py’ :
381 def _close_streams(self):
382 for std in (self._proc.stdin,
383 self._proc.stdout,
384 self._proc.stderr):
385 try:
386 std.close()
387 except Exception: # pragma: no cover
388 passI then added a call to the above function in
_close(self)
:271 def _close(self):
272 self._terminate(0.05) # Short timeout
273 self._close_streams()
274 self._proc = NoneI am not sure what the side effects of doing this are, but it provides a solution for me.
Here is the link to the issue : https://github.com/imageio/imageio/issues/145
-
Python ImageIO : Too many open files
23 avril 2016, par orbv12I am using imageio in python in order to open all video files in a directory and convert them to numpy arrays.
Here is the script I am using :
1 from __future__ import print_function
2 from avi_to_numpy import *
3 from os import listdir
4 import numpy as np
5 import imageio
6
7 class_path = '../Diving/'
8 max_frames = 16
9 stride = 8
10 videos = [vid for vid in listdir(class_path)]
11 train = []
12
13 for vid in videos:
14 print(str.format('Loading {}...', vid), end="")
15 filename = class_path + vid
16 reader = imageio.get_reader(filename, 'ffmpeg')
17 frames = []
18
19 for i, im in enumerate(reader):
20 if len(frames) == max_frames:
21 break
22
23 if i % stride == 0:
24 frames.append(im)
25
26 reader.close()
27 train.append(np.array(frames))
28 print('done')
29
30
31 print(len(train))Eventually this script crashes with the following error output :
Traceback (most recent call last):
File "load_class_test.py", line 16, in <module>
reader = imageio.get_reader(filename, 'ffmpeg')
File "/usr/local/lib/python2.7/site-packages/imageio/core/functions.py", line 111, in get_reader
return format.get_reader(request)
File "/usr/local/lib/python2.7/site-packages/imageio/core/format.py", line 158, in get_reader
return self.Reader(self, request)
File "/usr/local/lib/python2.7/site-packages/imageio/core/format.py", line 207, in __init__
self._open(**self.request.kwargs.copy())
File "/usr/local/lib/python2.7/site-packages/imageio/plugins/ffmpeg.py", line 260, in _open
self._initialize()
File "/usr/local/lib/python2.7/site-packages/imageio/plugins/ffmpeg.py", line 326, in _initialize
stdout=sp.PIPE, stderr=sp.PIPE)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1223, in _execute_child
errpipe_read, errpipe_write = self.pipe_cloexec()
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1175, in pipe_cloexec
r, w = os.pipe()
OSError: [Errno 24] Too many open files
</module>I am closing the Reader object from imageio. It seems as if the files opened by ffmpeg are not being closed properly.
Is there an obvious step I am missing here ? Am I closing the files properly ?
EDIT : Found temporary solution. Opened a new issue on github.
I was able to resolve the issue by uncommenting the following lines of code from ’imageio/plugins/ffmpeg.py’ :
381 def _close_streams(self):
382 for std in (self._proc.stdin,
383 self._proc.stdout,
384 self._proc.stderr):
385 try:
386 std.close()
387 except Exception: # pragma: no cover
388 passI then added a call to the above function in
_close(self)
:271 def _close(self):
272 self._terminate(0.05) # Short timeout
273 self._close_streams()
274 self._proc = NoneI am not sure what the side effects of doing this are, but it provides a solution for me.
Here is the link to the issue : https://github.com/imageio/imageio/issues/145