Recherche avancée

Médias (0)

Mot : - Tags -/alertes

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

Autres articles (103)

  • 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.

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (16872)

  • Is there any memory problem that "Too many active WebGL contents." keeps coming out in my web console

    18 novembre 2022, par jerry

    enter image description here

    


    Now I'm using RTSP stream with jsmpeg, ffmpeg, node-rtsp-stream in React.js

    


    I set multiple streaming in react component about 1 to maximum 25

    


    and when I change route to many , It apeard my console

    


    I'm a little afraid of if it caused by memory leak problem

    


    I cannot figure out it is okay or critical problem

    


    Could you tell me how to solve this problem or is it fine

    


    &#xA;// out of component&#xA;const streams: Streams = {};&#xA;&#xA;...&#xA;&#xA;  const { preset } = props;&#xA;&#xA;  const elementsRef = useRef<any>(new Array(preset?.partition).fill(0).map((v) => createRef()));&#xA;&#xA;&#xA;  // Mount&#xA;  useEffect(() => {&#xA;    const { JSMpeg } = window;&#xA;&#xA;    const sortedStream = _.sortBy(preset?.stream, ["position"]);&#xA;    console.log(sortedStream);&#xA;&#xA;&#xA;    sortedStream.forEach((v, i: number) => {&#xA;&#xA;      const player = new JSMpeg.Player(v.camera_monitoring.ws, {&#xA;        canvas: elementsRef?.current[v.position]?.current, // Canvas should be a canvas DOM element&#xA;      });&#xA;      console.dir(elementsRef?.current[v.position]?.current);&#xA;&#xA;      streams[v.id] = player;&#xA;    });&#xA;  }, []);&#xA;&#xA;  // UnMount&#xA;  useEffect(() => {&#xA;    return () => {&#xA;      Object.keys(streams).forEach((v) => {&#xA;        console.log("unmount key:", v);&#xA;        if (streams[v] !== null) {&#xA;          streams[v].destroy();&#xA;          streams[v] = null;&#xA;        }&#xA;      });&#xA;    };&#xA;  }, []);&#xA;&#xA;&#xA;&#xA;... &#xA;</any>

    &#xA;

    https://github.com/phoboslab/jsmpeg

    &#xA;

    above library `jsmpeg.min.js` is set by global ( in public directory and set in my html )

    &#xA;

    actually my code are so many antipattern in contrast react style, To make an excuse, It is my limits of one's ability

    &#xA;

  • Is there a way to use youtube-dl in async

    8 octobre 2024, par Stam Kaly

    I have an application where I use zmq with asyncio to communicate with the clients who have the ability to download a video with youtube-dl to the server. I tried adding await to youtube_dl's download function but it gave me an error since it was not a coroutine. My code right now is simply looking like this :

    &#xA;&#xA;

    import asyncio&#xA;import youtube_dl&#xA;&#xA;&#xA;async def networking_stuff():&#xA;    download = True&#xA;    while True:&#xA;        if download:&#xA;            print("Received a request for download")&#xA;            await youtube_to_mp3("https://www.youtube.com/watch?v=u9WgtlgGAgs")&#xA;            download = False&#xA;        print("Working..")&#xA;        await asyncio.sleep(2)&#xA;&#xA;&#xA;async def youtube_to_mp3(url):&#xA;    ydl_opts = {&#xA;        &#x27;format&#x27;: &#x27;bestaudio/best&#x27;,&#xA;        &#x27;postprocessors&#x27;: [{&#xA;            &#x27;key&#x27;: &#x27;FFmpegExtractAudio&#x27;,&#xA;            &#x27;preferredcodec&#x27;: &#x27;mp3&#x27;,&#xA;            &#x27;preferredquality&#x27;: &#x27;192&#x27;,&#xA;        }]&#xA;    }&#xA;&#xA;    with youtube_dl.YoutubeDL(ydl_opts) as ydl:&#xA;        ydl.download([url])&#xA;&#xA;&#xA;loop = asyncio.get_event_loop()&#xA;loop.create_task(networking_stuff())&#xA;loop.run_forever()&#xA;

    &#xA;&#xA;

    which gives the following output :

    &#xA;&#xA;

    Received a request for download&#xA;[youtube] u9WgtlgGAgs: Downloading webpage&#xA;[youtube] u9WgtlgGAgs: Downloading video info webpage&#xA;[youtube] u9WgtlgGAgs: Extracting video information&#xA;[youtube] u9WgtlgGAgs: Downloading MPD manifest&#xA;[download] Destination: The Cardigans - My Favourite Game “Stone Version”-u9WgtlgGAgs.webm&#xA;[download] 100% of 4.20MiB in 00:03&#xA;[ffmpeg] Destination: The Cardigans - My Favourite Game “Stone Version”-u9WgtlgGAgs.mp3&#xA;Deleting original file The Cardigans - My Favourite Game “Stone Version”-u9WgtlgGAgs.webm (pass -k to keep)&#xA;Working..&#xA;Working..&#xA;....&#xA;Working..&#xA;Working..&#xA;

    &#xA;&#xA;

    whereas I would expect the Working.. message to be printed in between youtube-dl's messages as well. Am I missing something here or is this impossible with async/await ? Is ffmpeg blocking ? If so, can I run the download in async without converting to mp3 or is using threads the only way ?

    &#xA;

  • UDP Receiver needs to start before udp sender

    11 janvier 2020, par user27443

    I’m trying to send video from a raspberry pi 0w with camera running Raspian Buster to a machine running Ubuntu 18.04. I’m using ffmpeg to encode to h264 using hardware on the raspi end, and then sending the data with gst-launch-1.0 over UDP. The issue is that if I start the raspi stream, and then start the receiver, the receiver never connects. If I start the receiver and then start the raspi stream, then they connect perfectly.

    Raspi encode and send command :

    ffmpeg -f video4linux2 -framerate 30 -video_size 1280x720 -i /dev/video0 -c:v h264_omx -b:v 2000k -f avi pipe:1 | gst-launch-1.0 --gst-debug=3 fdsrc ! udpsink host=192.168.1.142 port=8090

    Receive and decode and display command :

    gst-launch-1.0 udpsrc port=8090 ! queue ! h264parse ! avdec_h264 ! xvimagesink sync=false

    I’ve looked at the udpsink and udpsrc properties and tried messing around with buffer-size, blocksize, and sync with no luck. I’ve also tried using ffmpeg from python to see if the issue was on the receiver side, with the exact same problem.

    import cv2

    cap = cv2.VideoCapture('udp://127.0.0.1:8090',cv2.CAP_FFMPEG)
    if not cap.isOpened():
       print('VideoCapture not opened')
       exit(-1)

    while True:
       ret, frame = cap.read()

       if not ret:
           print('frame empty')
           break

       cv2.imshow('image', frame)

       if cv2.waitKey(1)&amp;0XFF == ord('q'):
           break

    cap.release()
    cv2.destroyAllWindows()

    In the end, I might just write a small protocol that toggles the sender if no packets are getting through, but I was hoping that UDP would handle the connection better.

    This question seemed simliar : UDP : Client started before Server but didn’t resolve my issue since I don’t have any blocking ability with gstreamer/ffmpeg.