
Recherche avancée
Médias (2)
-
Core Media Video
4 avril 2013, par
Mis à jour : Juin 2013
Langue : français
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (85)
-
Diogene : création de masques spécifiques de formulaires d’édition de contenus
26 octobre 2010, parDiogene est un des plugins ? SPIP activé par défaut (extension) lors de l’initialisation de MediaSPIP.
A quoi sert ce plugin
Création de masques de formulaires
Le plugin Diogène permet de créer des masques de formulaires spécifiques par secteur sur les trois objets spécifiques SPIP que sont : les articles ; les rubriques ; les sites
Il permet ainsi de définir en fonction d’un secteur particulier, un masque de formulaire par objet, ajoutant ou enlevant ainsi des champs afin de rendre le formulaire (...) -
Gestion des droits de création et d’édition des objets
8 février 2011, parPar 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 ;
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 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 (...)
Sur d’autres sites (9934)
-
FFmpeg wrong codecstring for DASH manifest [closed]
21 novembre 2024, par SuxsemI'm trying to create a DASH stream with ffmpeg with the following command :


ffmpeg -i rtsp://admin:***@camera-retro.lan/ch0_0 ^
 -map 0 ^
 -codec:v copy ^
 -codec:a copy ^
 -f dash ^
 -use_template 1 ^
 -use_timeline 1 ^
 -window_size 50 ^
 -extra_window_size 5 ^
 -seg_duration 5 ^
 tmp/output.mpd



The problem is the generated manifest doesn't contain a valid codecstring for the video part (note the codecs="hev1" part) and thus is not playable by the browser :


<?xml version="1.0" encoding="utf-8"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minimumupdateperiod="PT6S" suggestedpresentationdelay="PT6S" availabilitystarttime="2024-11-21T12:05:52.604Z" publishtime="2024-11-21T12:05:57.559Z" timeshiftbufferdepth="PT5M1.9S" maxsegmentduration="PT5.0S" minbuffertime="PT12.0S">
 <programinformation>
 
 </programinformation>
 <servicedescription>
 </servicedescription>
 <period start="PT0.0S">
 <adaptationset contenttype="video" startwithsap="1" segmentalignment="true" bitstreamswitching="true" maxwidth="2304" maxheight="1296" par="16:9">
 <representation mimetype="video/mp4" codecs="hev1" bandwidth="822093" width="2304" height="1296" scantype="unknown" sar="1:1">
 <segmenttemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">
 <segmenttimeline>
 <s t="0" d="542990"></s>
 </segmenttimeline>
 </segmenttemplate>
 </representation>
 </adaptationset>
 <adaptationset contenttype="audio" startwithsap="1" segmentalignment="true" bitstreamswitching="true">
 <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="34143" audiosamplingrate="16000">
 <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="1"></audiochannelconfiguration>
 <segmenttemplate timescale="16000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">
 <segmenttimeline>
 <s t="0" d="81001"></s>
 </segmenttimeline>
 </segmenttemplate>
 </representation>
 </adaptationset>
 </period>
</mpd>



This is the output of ffprobe :


SDP:
v=0
o=- 1732188474342789 1 IN IP4 192.168.12.162
s=Session streamed by "rRTSPServer"
i=ch0_0.h264
t=0 0
a=tool:LIVE555 Streaming Media v2023.01.19
a=type:broadcast
a=control:*
a=range:npt=now-
a=x-qt-text-nam:Session streamed by "rRTSPServer"
a=x-qt-text-inf:ch0_0.h264
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:700
a=rtpmap:96 H265/90000
a=fmtp:96 profile-space=0;profile-id=1;tier-flag=0;level-id=186;interop-constraints=000000000000;sprop-vps=QAEMAf//AWAAAAMAAAMAAAMAAAMAuqwJ;sprop-sps=QgEBAWAAAAMAAAMAAAMAAAMAuqABICAFEf5a7kSIi/Lc1AQEBAI=;sprop-pps=RAHA8oSJAzJA
a=control:track1
m=audio 0 RTP/AVP 97
c=IN IP4 0.0.0.0
b=AS:32
a=rtpmap:97 MPEG4-GENERIC/16000
a=fmtp:97 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1408
a=control:track2



it seems to me that all codec informations are present :


a=fmtp:96 profile-space=0;profile-id=1;tier-flag=0;level-id=186;interop-constraints=000000000000;



why ffmpeg is putting only codecs="hev1" instead of the full codecstring (containing the profile, the level and the constraints) ?


Thank you


-
RTP stream from ffmpeg not reaching mediasoup producer : what could be wrong ? [closed]
5 novembre 2024, par Francesco VignolaI developed a producer for mediasoup that is supposed to receive the RTP stream generated by ffmpeg (via fluent-ffmpeg) and send it to the consumer.


ffmpeg correctly generates the stream, and I conducted a test with tcpdump, where I can see the traffic generated by ffmpeg being sent locally to the port of the PlainTransport with which the producer is created.


However, neither the producer nor the consumer seem to be able to intercept it, as the listeners I attached to the specific events are never triggered.


I also started an ffmpeg client to receive the stream, and the test was successful (it receives the stream). However, I can’t understand why it doesn't work with mediasoup.


Can someone help me ? Did I forget any configuration parameters ?


The code is as follows :


const router = await worker.createRouter({
 mediaCodecs: [{
 kind: 'video',
 mimeType: 'video/VP8',
 clockRate: 90000,
 payloadType: 96
 }]
});

const transport = await router.createPlainTransport({
 listenIp: { ip: '127.0.0.1' },
 rtcpMux: false,
 comedia: true
});

const producer = await transport.produce({
 kind: 'video',
 rtpParameters: router.rtpParameters
});

const { localIp: ip, localPort: port } = transport.tuple;
const { localPort: rtcpPort } = transport.rtcpTuple;

await transport.connect({
 ip: ip,
 port: port,
 rtcpPort: rtcpPort
});

ffmpeg(videoFilePath)
 .inputOptions('-re')
 .videoCodec('libvpx')
 .outputOptions([
 '-f rtp',
 '-payload_type', '96',
 '-ssrc', ssrc,
 '-an',
 '-sdp_file', 'out.sdp'
 ])
 .output(`rtp://${ip}:${port}?rtcpport=${rtcpPort}`)
 .run();



The video to be streamed has an .mp4 extension and is saved locally on the server.


Thank you to anyone who is willing to help me.


-
Audio offset get wrong after some time when streaming audios
7 septembre 2024, par Antoine GrenardI use microsoft-cognitiveservices-speech-sdk (1.38.0) in order to do real time speech to text.
It seems like the offset is right when I send a full audio but it is wrong when I send it cut in a lot of audio chunks.


The more there is audio chunks the more inaccurate the offset is :


- 

- No chunks : 1 726 300 000
- 369 chunks of 0.5 seconds : 1 729 600 000
- 923 chunks of 0.2 seconds : 1 744 600 000
- 1443 chunks of 0.1 seconds : 1 757 900 000










To reproduce here is some piece of code :


const speechConfig = SpeechConfig.fromSubscription(<key>, {console.log(event)}
 speechRecognizer.canceled = async (recognizer, event) => {console.log(event)}
 speechRecognizer.startContinuousRecognitionAsync();

 for (let i = 1; i <= 1443; i++) {
 const formattedNumber = i.toString().padStart(4, '0');
 const buffer = fs.readFileSync(`/var/tmp/chunks/output_${formattedNumber}.wav`);
 pushStream.write(buffer);
 }
</key>


To create the audio chunks :


ffmpeg -i -f segment -segment_time 0.1 -c copy output_%04d.wav



Here is the audio link : https://drive.google.com/file/d/1H_RJuqMiBaVkpo9XHrgp1bpuFdgQl64O/view?usp=sharing


Thanks for your help