Recherche avancée

Médias (0)

Mot : - Tags -/auteurs

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (62)

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

Sur d’autres sites (12667)

  • ffmpeg x11grab moov atom not found

    30 mars 2021, par Jintor

    2 FFMPEG process

    


    (1) generating a ffmpeg x11grab to a .mp4
(2) take the .mp4 and restream it simultaneously to multiple rtmp endpoints

    


    ISSUE the generated file in (1) have this error "moov atom not found"

    


    This is the command that generate (1) :

    


    ffmpeg -re -y -f x11grab -draw_mouse 0 -framerate 30 
-video_size $RESOLUTION -i :$DISPLAY_NUM -c:a aac -c:v libx264 
-movflags +faststart -preset ultrafast -crf 28 -refs 4 -qmin 4 
-pix_fmt yuv420p -filter:v fps=30 file.mp4


    


    in the (2) => when I try to ffmpeg -i file.mp4 output somewhere : I get "moov atom not found" so the (2) can't read or open (1).

    


    What I'm I missing

    


    in (1) -movflags +faststart doesn't seem to fix the issue

    


    ••••••• EDIT : more details on the context ••••••

    


    I'm using openvidu : webrtc with kurento and coturn.

    


    The record feature creates a .mp4 on the fly as the chat is going on.

    


    To start the recording, there is an API call i can make to my server and it automatically stops when all users leaves the chatroom OR do an other api call to stop. see composed video in this link https://docs.openvidu.io/en/2.17.0/advanced-features/recording/

    


    openvidu have also webhooks.

    


    My problem is not how to stop ffmpeg, but getting FFMPEG to encode while the mp4 or other is being generated "on the fly".

    


    There is 2 options :

    


    OPTION 1 : individual => 1 .webm per camare => this .webm ffmpeg can restream as hls or RTMP => it's working.

    


    OPTION 2 : ** but the issue is with "Composed" video => it's using ffmpeg to x11grab the session... but it's mp4 without moov ato, so ffmpeg don't do anything with this.

    


    see the composed.sh script here
https://github.com/OpenVidu/openvidu/blob/master/openvidu-server/docker/openvidu-recording/scripts/composed.sh

    


  • Anomalie #4717 (Nouveau) : Erreurs nombre d’argument des filtres

    8 avril 2021, par jluc -

    Depuis PHP 7.1, une fonction appelée avec un mauvais nombre d’argument provoque une Fatal error : Uncaught ArgumentCountError : Too few arguments to function filtre_implode_dist(), 1 passed ... and exactly 2 expected

    Or il n’y a aucune vérification, avant de l’appeler, du nombre d’argument avec lequel est appelée une fonction implémentant un filtre.

    Du coup appeler (#LISTEArbre,Bateau,Chat,Doche fait page blanche avec l’erreur ci dessus dans error.log

    La définition est en effet

    function filtre_implode_dist($a, $b)  return is_array($a) ? implode($b, $a) : $a ; 
    

    C’est assez rude pour du code SPIP où l’erreur est permise.

    Du coup serait il possible de récupérer proprement ces situations d’erreur par gestion d’exception avant l’eval du code compilé ?

    Sinon il faudrait s’assurer que toutes les fonctions php implémentant des filtres puissent accepter de n’avoir qu’un seul argument (la balise sur laquelle elles s’appliquent).

    Ce qui donnerait ici :

    function filtre_implode_dist($a, $b=", ")  return is_array($a) ? implode($b, $a) : $a ; 
    
  • How to compress base64 decoded video data using ffmpeg in django

    23 mai 2021, par Sudipto Sarker

    I want to upload the video/audio file in my django-channels project. So I uploaded video(base64 encoded url) from websocket connection. It is working fine. But now after decoding base64 video data I want to compress that video using ffmpeg.But it showing error like this.
''Raw : No such file or directory''
I used 'AsyncJsonWebsocketConsumer' in consumers.py file.Here is my code :
consumers.py :

    


    async def send_file_to_room(self, room_id, dataUrl, filename):
        # decoding base64 data
        format, datastr = dataUrl.split(';base64,')
        ext = format.split('/')[-1]
        file = ContentFile(base64.b64decode(datastr), name=filename)
        print(f'file: {file}')
        # It prints 'Raw content'
        output_file_name = filename + '_temp.' + ext
        ff = f'ffmpeg -i {file} -vf "scale=iw/5:ih/5" {output_file_name}'
        subprocess.run(ff,shell=True) 


    


    May be here ffmpeg can not recognize the file to be compressed. I also tried to solve this using post_save signal.

    


    signals.py :

    


    @receiver(post_save, sender=ChatRoomMessage)
def compress_video_or_audio(sender, instance, created, **kwargs):
    print("Inside signal")
    if created:
        if instance.id is None:
            print("Instance is not present")
        else:
            video_full_path = f'{instance.document.path}'
            print(video_full_path)
   // E:\..\..\..\Personal Chat Room\media\PersonalChatRoom\file\VID_20181219_134306_w5ow8F7.mp4
            output_file_name = filename + '_temp.' + extension
            ff = f'ffmpeg -i {filename} -vf "scale=iw/5:ih/5" {output_file_name}'
            subprocess.run(ff,shell=True)
            instance.document = output_file_name
            instance.save()


    


    It is also causing "E :..\Django\New_Projects\Personal : No such file or directory".
How can I solve this issue ? Any suggetions.It will be more helpful if it can be compressed before saving the object in database. Thanks in advance.