Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (99)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

Sur d’autres sites (8303)

  • Is it possible to convert all video files in subdirectories on google drive using ffmpeg & rclone ?

    24 avril 2020, par rms

    Currently I'm using this code whereby rclone fetches 1 file from my google drive, converts it using ffpmeg on a server and moves the converted files to the same folder. It's shown as below.
Step 1 is generating a list over which rclone can iterate over and the conversion process begins with the second script in step 2

    



    step 1

    



    rclone lsf "gdrive:/folder" --files-only > list.txt


    



    step 2

    



    while read file; do
    rclone copy "gdrive:/folder/""$file" . -P
    ffmpeg -i "$file" -vf scale=-1:540 -vcodec libx265 -crf 26 "${file%.*}.mkv" null
    rm -f "$file"
    rclone move . "gdrive:/folder/" --exclude list.txt -P
done code>

    



    However, some sub directories have nested videos to convert which would rather take a long time if I'm to do it for every folder. This brought me to my question whether it's possible to modify the above process to work with subdirectories.

    



    I've tried rclone lsf to generate the list recursively using the -R flag but ffmpeg doesn't seem to read the file from the list to make it work. Is there a way to make this work with some tweaking possibly ?

    


  • Google Speech Recognition API output errors, unsure why they're occuring

    8 novembre 2019, par Requiem_7

    This is the output for when I feed flac files into Google’s Speech Recognition API. It says that if starts and finishes most of the files but then it gives me these errors when it nears the end. I have checked and all these files are native flac files. I took out a good chunk of the output above "source/out70.flac started" becuase it’s all the same besides the file number.

    source/out70.flac started
    source/out25.flac started
    source/out17.flac done
    source/out18.flac started
    source/out25.flac done
    source/out20.flac done
    source/out21.flac started
    source/out10.flac done
    source/out100.flac started
    source/out14.flac done
    source/out18.flac done
    source/out21.flac done
    Traceback (most recent call last):
     File "C:\Users\hmkur\AppData\Roaming\Python\Python37\site-packages\speech_recognition\__init__.py", line 203, in __enter__
       self.audio_reader = wave.open(self.filename_or_fileobject, "rb")
     File "C:\Program Files (x86)\Python37-32\lib\wave.py", line 510, in open
       return Wave_read(f)
     File "C:\Program Files (x86)\Python37-32\lib\wave.py", line 164, in __init__
       self.initfp(f)
     File "C:\Program Files (x86)\Python37-32\lib\wave.py", line 129, in initfp
       self._file = Chunk(file, bigendian = 0)
     File "C:\Program Files (x86)\Python37-32\lib\chunk.py", line 63, in __init__
       raise EOFError
    EOFError

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
     File "C:\Users\hmkur\AppData\Roaming\Python\Python37\site-packages\speech_recognition\__init__.py", line 208, in __enter__
       self.audio_reader = aifc.open(self.filename_or_fileobject, "rb")
     File "C:\Program Files (x86)\Python37-32\lib\aifc.py", line 917, in open
       return Aifc_read(f)
     File "C:\Program Files (x86)\Python37-32\lib\aifc.py", line 352, in __init__
       self.initfp(file_object)
     File "C:\Program Files (x86)\Python37-32\lib\aifc.py", line 314, in initfp
       chunk = Chunk(file)
     File "C:\Program Files (x86)\Python37-32\lib\chunk.py", line 63, in __init__
       raise EOFError
    EOFError

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
     File "C:\Users\hmkur\AppData\Roaming\Python\Python37\site-packages\speech_recognition\__init__.py", line 234, in __enter__
       self.audio_reader = aifc.open(aiff_file, "rb")
     File "C:\Program Files (x86)\Python37-32\lib\aifc.py", line 917, in open
       return Aifc_read(f)
     File "C:\Program Files (x86)\Python37-32\lib\aifc.py", line 358, in __init__
       self.initfp(f)
     File "C:\Program Files (x86)\Python37-32\lib\aifc.py", line 314, in initfp
       chunk = Chunk(file)
     File "C:\Program Files (x86)\Python37-32\lib\chunk.py", line 63, in __init__
       raise EOFError
    EOFError

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
     File "C:\Users\hmkur\Desktop\Python\Transcribing_Audio_GoogleAPI_Python\fast.py", line 92, in <module>
       all_text = pool.map(transcribe, enumerate(files))
     File "C:\Program Files (x86)\Python37-32\lib\multiprocessing\pool.py", line 268, in map
       return self._map_async(func, iterable, mapstar, chunksize).get()
     File "C:\Program Files (x86)\Python37-32\lib\multiprocessing\pool.py", line 657, in get
       raise self._value
     File "C:\Program Files (x86)\Python37-32\lib\multiprocessing\pool.py", line 121, in worker
       result = (True, func(*args, **kwds))
     File "C:\Program Files (x86)\Python37-32\lib\multiprocessing\pool.py", line 44, in mapstar
       return list(map(*args))
     File "C:\Users\hmkur\Desktop\Python\Transcribing_Audio_GoogleAPI_Python\fast.py", line 82, in transcribe
       with sr.AudioFile(name) as source:
     File "C:\Users\hmkur\AppData\Roaming\Python\Python37\site-packages\speech_recognition\__init__.py", line 236, in __enter__
       raise ValueError("Audio file could not be read as PCM WAV, AIFF/AIFF-C, or Native FLAC; check if file is corrupted or in another format")
    ValueError: Audio file could not be read as PCM WAV, AIFF/AIFF-C, or Native FLAC; check if file is corrupted or in another format
    </module>
  • Passing streams from Fluent-ffmpeg to Google Cloud Storage

    31 octobre 2019, par Emilio Faria

    Is there a way to pass a stream from Fluent-mmpeg to Google Cloud Storage ? I’m trying to allow the user to upload any kind of media (audio or video), and I want to convert it to flac before uploading it to GCS.

    I’m using a few middlewares on my route, such as :

    routes.post(
     '/upload',
     multer.single('audio'),
     ConvertController.convert,
     UploadController.upload,
     FileController.save,
     (req, res, next) => res.send('ok')
    );

    I was able to stream from Multer to Fluent-mmpeg and save to a file using this code on ConvertController :

    async convert(req, res, next) {
       ffmpeg(streamifier.createReadStream(req.file.buffer))
         .format('flac')
         .output('outputfile.flac')
         .audioChannels(1)
         .on('progress', function(progress) {
           console.log(progress);
         })
         .run();
     }

    But I would like to use .pipe() to pass it to UploadController, where I would then upload to GCS :

    class UploadController {
     async upload(req, res, next) {
       const gcsHelpers = require('../helpers/google-cloud-storage');
       const { storage } = gcsHelpers;

       const DEFAULT_BUCKET_NAME = 'my-bucket-name';

       const bucketName = DEFAULT_BUCKET_NAME;
       const bucket = storage.bucket(bucketName);
       const fileName = `test.flac`;
       const newFile = bucket.file(fileName);

       newFile.createWriteStream({
         metadata: {
           contentType: file.mimetype
         }
       })

       file.on('error', err => {
         throw err;
       });

       file.on('finish', () => console.log('finished'));
     }

    The problem is that I cannot find anywhere explaining how I can pass down a stream to the next middleware.

    Is it possible ?