Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (106)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie 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, par

    Ce 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, par

    MediaSPIP 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 Kumar

    i 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 orbv12

    I 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                     pass

    I 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 = None

    I 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 orbv12

    I 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                     pass

    I 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 = None

    I 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