Recherche avancée

Médias (9)

Mot : - Tags -/soundtrack

Autres articles (36)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    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 (...)

  • MediaSPIP Init et Diogène : types de publications de MediaSPIP

    11 novembre 2010, par

    À l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
    Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
    Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...)

Sur d’autres sites (5232)

  • Revision d77f51ba9e : Add dynamic resize logic for 1 pass CBR. Decision to scale down/up is based on

    8 juin 2015, par Marco

    Changed Paths :
     Modify /examples/vpx_temporal_svc_encoder.c


     Modify /vp9/encoder/vp9_aq_cyclicrefresh.c


     Modify /vp9/encoder/vp9_aq_cyclicrefresh.h


     Modify /vp9/encoder/vp9_encoder.c


     Modify /vp9/encoder/vp9_encoder.h


     Modify /vp9/encoder/vp9_ratectrl.c


     Modify /vp9/encoder/vp9_ratectrl.h



    Add dynamic resize logic for 1 pass CBR.

    Decision to scale down/up is based on buffer state and average QP
    over previous time window. Limit the total amount of down-scaling
    to be at most one scale down for now.

    Reset certain quantities after resize (buffer level, cyclic refresh,
    rate correction factor).

    Feature is enable via the setting rc_resize_allowed = 1.

    Change-Id : I9b1a53024e1e1e953fb8a1e1f75d21d160280dc7

  • vulkan_h264 : reject end_frame being called without valid session parameters

    20 mai 2023, par Lynne
    vulkan_h264 : reject end_frame being called without valid session parameters
    

    When seeking through MBAFF-coded H264, this can happen. Decoding calls end_frame
    without calling start_frame. We are unable to decode this, as no frame
    state has been set.

    Happens for both VAAPI and Vulkan. Could be an issue elsewhere, hence
    the individual commit.

    • [DH] libavcodec/vulkan_h264.c
  • i am trying to make my ipcamera stream over webrtc usingnodejs and kurento media server

    5 mai 2023, par vishnu nair

    i am new at webrtc and rtsp, while trying to make a project on webrtc i came to a halt in my code and after weeks of online search adn usng chatgpt am still not able to resolve my problem. I want to stream my ipcamera to webrtc but the code is not working properly.am not above to start the stream.

    


    the code is given below

    


    const wrtc = require('wrtc');
const kurento = require('kurento-client');
const mqtt = require('mqtt');
const node_ffmpeg_stream = require('node-ffmpeg-stream');

const mqttonline_connection = require('../../mqttconnection/online_mqtt_connection');
const clientonline = mqttonline_connection.returnconnection();
const topiconline = mqttonline_connection.topic;

const RTSP_URL = 'rtsp://admin:password@192.168.0.100:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1';

async function startStreaming() {
  try {
    // Create Kurento client and pipeline
    const kurentoClient = await kurento('ws://localhost:8888/kurento');
    const pipeline = await kurentoClient.create('MediaPipeline');

    // Create WebRTC endpoint
    const webRtcEndpoint = await pipeline.create('WebRtcEndpoint');
    webRtcEndpoint.setMaxVideoRecvBandwidth(10000000); // Set max bandwidth to 10 Mbps

    // Create RTSP source and connect it to the WebRTC endpoint
    const rtspEndpoint = await pipeline.create('RtspEndpoint', {uri: RTSP_URL});
    rtspEndpoint.connect(webRtcEndpoint);

    // Start streaming
    webRtcEndpoint.gatherCandidates();

    // Subscribe to ICE candidate events and send them via MQTT
    webRtcEndpoint.on('OnIceCandidate', event => {
      const candidate = kurento.getComplexType('IceCandidate')(event.candidate);

      clientonline.publish('sdp', JSON.stringify(candidate));
    });

    // Subscribe to ICE connection state events and log them
    webRtcEndpoint.on('IceConnectionStateChanged', event => {
      console.log(`ICE connection state changed to ${event.state}`);
    });

    // Generate SDP offer and send it via MQTT
    const sdpOffer = await webRtcEndpoint.generateOffer();
    clientonline.publish('sdp', JSON.stringify(sdpOffer));

    // Start the RTSP source
    rtspEndpoint.play();

    // Listen for incoming SDP answers via MQTT and set them on the WebRTC endpoint
    clientonline.subscribe('answer');
    clientonline.on('message', (topic, message) => {
      if (topic === 'answer') {
        const sdpAnswer = JSON.parse(message);
        webRtcEndpoint.processAnswer(sdpAnswer);
      }
    });

    // Listen for incoming ICE candidates via MQTT and add them to the WebRTC endpoint
    clientonline.subscribe('candidate');
    clientonline.on('message', (topic, message) => {
      if (topic === 'candidate') {
        const candidate = JSON.parse(message);
        webRtcEndpoint.addIceCandidate(candidate);
      }
    });

    // Handle errors
    webRtcEndpoint.on('Error', error => {
      console.error('WebRTC endpoint error:', error);
    });
    rtspEndpoint.on('Error', error => {
      console.error('RTSP endpoint error:', error);
    });
    pipeline.on('Error', error => {
      console.error('Pipeline error:', error);
    });
  } catch (error) {
    console.error('Error starting streaming:', error);
  }
}

startStreaming();


    


    am getting the error as

    


      Error starting streaming: SyntaxError: Unknown type '[object Object]'
    at getConstructor (/home/user/Desktop/ghome/node_modules/kurento-client/lib/MediaObjectCreator.js:55:17)
    at createConstructor (/home/user/Desktop/ghome/node_modules/kurento-client/lib/MediaObjectCreator.js:74:21)
    at createMediaObject (/home/user/Desktop/ghome/node_modules/kurento-client/lib/MediaObjectCreator.js:140:23)
    at MediaObjectCreator.create (/home/user/Desktop/ghome/node_modules/kurento-client/lib/MediaObjectCreator.js:263:12)
    at startStreaming (/home/user/Desktop/ghome/extra/webrtc/mqttwrtc.js:25:41)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  type: {
    params: 'rtsp://admin:password@192.168.0.100:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1',
    type: 'RtspEndpoint'
  }
}