Recherche avancée

Médias (91)

Autres articles (51)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (4607)

  • FFMPEG Problem with Filter_Complex with Chain Filters

    11 avril 2023, par James

    This script combined three filters into one being drawgrid, drawbox and drawtext. The result had added the text and not added the grid and box.

    


    My script :

    


    Set "BXW=1000"  ::Box width
Set "BXH=1008"  ::Box height

set "TEXT1=360" :: Text lefthand side (no space characters allowed, see next example)
set "TEXT2=180" :: Text bottom and center
set "TEXT3=0" :: Text righthand side
set "TEXT4=0" :: Text top and center


set "COLOR=red" :: Text color
set "SIZE=200" :: Font size
set "POS_X1=0" ::X1 position of text
set "POS_Y1=(h-th)/2" :: Y1 position of text, use (h-th)/2 for centering
set "POS_X2=(w-tw)/2" :: X2 position of text, use (w-tw)/2 for centering
set "POS_Y2=(h-th)" ::Y2 position of text
set "POS_X3=(w-tw)" ::X3 position of text
set "POS_Y3=(h-th)/2" ::Y3 position of text, use (h-th)/2 for centering
set "POS_X4=(w-tw)/2" :: X4 position of text, use (w-tw)/2 for centering
set "POS_Y4=0" ::Y4 position of text



ffmpeg -i %1 -filter_complex   [0:v]"drawgrid=color=red:width=iw/8:height=0:thickness=6,drawgrid=color=blue:width=0:height=ih/12:thickness=6"[grid_s]; [grid_s]"format=rgb24,drawbox=x=((iw/2)-%BXW%/2):y=((ih/2)-%BXH%/2):width=%BXW%:height=%BXH%:thickness=40:color=white"[box_s]; [box_s]drawtext="fontfile='c\:/windows/fonts/arial.ttf':fontcolor=%COLOR%:fontsize=%SIZE%:text=%TEXT1%:x=%POS_X1%:y=%POS_Y1%",drawtext="fontfile='c\:/windows/fonts/arial.ttf':fontcolor=%COLOR%:fontsize=%SIZE%:text=%TEXT2%:x=%POS_X2%:y=%POS_Y2%,drawtext="fontfile='c\:/windows/fonts/arial.ttf':fontcolor=%COLOR%:fontsize=%SIZE%:text=%TEXT3%:x=%POS_X3%:y=%POS_Y3%,drawtext="fontfile='c\:/windows/fonts/arial.ttf':fontcolor=%COLOR%:fontsize=%SIZE%:text=%TEXT4%:x=%POS_X4%:y=%POS_Y4%"[text_s] -frames 1 -y temptxt.png


ffmpeg -i temptxt.png -vf scale=iw/8:-1 -f nut - | ffplay -


    


  • How to make videos .mp4 for a Phillips Media Player GO GEAR VIBE models ? [closed]

    14 avril 2023, par Ivan Rojas Calvo

    Here is the answer by steps (4/13/23) :

    


      

    1. First download and install the software WinFF here

      


    2. 


    3. Check the specificacions of your media player, mine is the GoGearVibe SA2VBE08K/55 model

      


    4. 


    5. Look for the video specification : mine says that the video format needs to match this specifications :

      


      Format = MJPEG (.mp4)

      


      Resolution = 128 x 128 píxeles

      


      Frames per second = 30 cps (fps)

      


      Bitrate = 512 kpbs

      


    6. 


    7. Read this tutorial to create a preset in WinFF here

      


    8. 


    9. Create a preset that turns ANY mp4 video you have into an MJPEG video with the properties shown above with this info :

      


      name : GoGearVibe55

      


      preset label : MJPEG GOGEAR

      


      Preset command line :

      


      -f mov -vf scale=128:128 -c:v mjpeg -b:v 512k -r 25 -c:a adpcm_ima_wav -b:a 192k -ar 22050 -ac 2


      


      output file : mp4

      


    10. 


    11. Understand how to adapt the code to your necessities with this image
enter image description here

      


    12. 


    


    Do not change what is mark in red, that's the resolution of the screen and the encoder of the video. You can change the value mark in blue, which means the bitrate, more bitrate the video will have more definition without changing the resolution. Tha value in green refers to the fps and the ones marked in yellow is the audio settings, don't worry about that, are good audio settings.

    


    Done. I did'n know how to create an article so I let you try this solution, good luck !

    


  • Computer crashing when using python tools in same script

    5 février 2023, par SL1997

    I am attempting to use the speech recognition toolkit VOSK and the speech diarization package Resemblyzer to transcibe audio and then identify the speakers in the audio.

    


    Tools :

    


    https://github.com/alphacep/vosk-api
    
https://github.com/resemble-ai/Resemblyzer

    


    I can do both things individually but run into issues when trying to do them when running the one python script.

    


    I used the following guide when setting up the diarization system :

    


    https://medium.com/saarthi-ai/who-spoke-when-build-your-own-speaker-diarization-module-from-scratch-e7d725ee279

    


    Computer specs are as follows :

    


    Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz, 3912 Mhz, 2 Core(s), 4 Logical Processor(s)
    
32GB RAM

    


    The following is my code, I am not to sure if using threading is appropriate or if I even implemented it correctly, how can I best optimize this code as to achieve the results I am looking for and not crash.

    


    from vosk import Model, KaldiRecognizer
from pydub import AudioSegment
import json
import sys
import os
import subprocess
import datetime
from resemblyzer import preprocess_wav, VoiceEncoder
from pathlib import Path
from resemblyzer.hparams import sampling_rate
from spectralcluster import SpectralClusterer
import threading
import queue
import gc



def recognition(queue, audio, FRAME_RATE):

    model = Model("Vosk_Models/vosk-model-small-en-us-0.15")

    rec = KaldiRecognizer(model, FRAME_RATE)
    rec.SetWords(True)

    rec.AcceptWaveform(audio.raw_data)
    result = rec.Result()

    transcript = json.loads(result)#["text"]

    #return transcript
    queue.put(transcript)



def diarization(queue, audio):

    wav = preprocess_wav(audio)
    encoder = VoiceEncoder("cpu")
    _, cont_embeds, wav_splits = encoder.embed_utterance(wav, return_partials=True, rate=16)
    print(cont_embeds.shape)

    clusterer = SpectralClusterer(
        min_clusters=2,
        max_clusters=100,
        p_percentile=0.90,
        gaussian_blur_sigma=1)

    labels = clusterer.predict(cont_embeds)

    def create_labelling(labels, wav_splits):

        times = [((s.start + s.stop) / 2) / sampling_rate for s in wav_splits]
        labelling = []
        start_time = 0

        for i, time in enumerate(times):
            if i > 0 and labels[i] != labels[i - 1]:
                temp = [str(labels[i - 1]), start_time, time]
                labelling.append(tuple(temp))
                start_time = time
            if i == len(times) - 1:
                temp = [str(labels[i]), start_time, time]
                labelling.append(tuple(temp))

        return labelling

    #return
    labelling = create_labelling(labels, wav_splits)
    queue.put(labelling)



def identify_speaker(queue1, queue2):

    transcript = queue1.get()
    labelling = queue2.get()

    for speaker in labelling:

        speakerID = speaker[0]
        speakerStart = speaker[1]
        speakerEnd = speaker[2]

        result = transcript['result']
        words = [r['word'] for r in result if speakerStart < r['start'] < speakerEnd]
        #return
        print("Speaker",speakerID,":",' '.join(words), "\n")





def main():

    queue1 = queue.Queue()
    queue2 = queue.Queue()

    FRAME_RATE = 16000
    CHANNELS = 1

    podcast = AudioSegment.from_mp3("Podcast_Audio/Film-Release-Clip.mp3")
    podcast = podcast.set_channels(CHANNELS)
    podcast = podcast.set_frame_rate(FRAME_RATE)

    first_thread = threading.Thread(target=recognition, args=(queue1, podcast, FRAME_RATE))
    second_thread = threading.Thread(target=diarization, args=(queue2, podcast))
    third_thread = threading.Thread(target=identify_speaker, args=(queue1, queue2))

    first_thread.start()
    first_thread.join()
    gc.collect()

    second_thread.start()
    second_thread.join()
    gc.collect()

    third_thread.start()
    third_thread.join()
    gc.collect()

    # transcript = recognition(podcast,FRAME_RATE)
    #
    # labelling = diarization(podcast)
    #
    # print(identify_speaker(transcript, labelling))


if __name__ == '__main__':
    main()


    


    When I say crash I mean everything freezes, I have to hold down the power button on the desktop and turn it back on again. No blue/blank screen, just frozen in my IDE looking at my code. Any help in resolving this issue would be greatly appreciated.