
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (80)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 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 (...)
Sur d’autres sites (12105)
-
ffmpeg won't exit normally with SIGINT
2 mars 2021, par ntstlkrI'm trying to record video with ffmpeg and all works fine when I call stopRecord() function inside timeout :


frame= 147 fps= 18 q=-1.0 Lsize= 290kB time=00:00:09.91 bitrate= 239.8kbits/s speed=1.24x 
video:129kB audio:156kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 
2.159774%
[aac @ 0x55e825dbdc40] 
Qavg: 241.892
Exiting normally, received signal 2.
SIGINT
Recording process exit, code: 255, signal: null
Recording stopped



But ffmpeg process won't exit and stays alive when I call stopRecord() function on API request inside express router.


// here I create child process and try to close it in timeout which works.
export async function startRecord(producers: any, router: any, folderName: string, fileName: string) {
const sdp = `v=0
o=- 0 0 IN IP4 127.0.0.1
s=-
c=IN IP4 127.0.0.1
t=0 0
m=audio ${ports[0]} RTP/AVPF 111
a=rtcp:${ports[0] + 1}
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
m=video ${ports[1]} RTP/AVPF 125
a=rtcp:${ports[1] + 1}
a=rtpmap:125 H264/90000
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f`;

const cmdArgStr = [
 "-protocol_whitelist pipe,rtp,udp",
 "-fflags +genpts",
 "-f sdp",
 "-i pipe:0",
 "-map 0:a:0 -c:a aac",
 "-map 0:v:0 -c:v copy",
 "-f mp4 -strict experimental",
 `-y recording/${folderName}/${fileName}.mp4`,
].join(" ").trim();

let process = spawn('ffmpeg', cmdArgStr.split(/\s+/));

process.stdin.write(sdp);
process.stdin.end();

process.on("error", (err: string) => {
 console.log('error');
 console.error("Recording process error:", err);
});

process.on("exit", (code: string, signal: string) => {
 process.kill('SIGINT');
 console.log('SIGINT');
 console.log("Recording process exit, code: %d, signal: %s", code, signal);

 if (!signal || signal === "SIGINT") {


 console.log("Recording stopped");
 } else {
 console.warn(
 "Recording process didn't exit cleanly, output file might be corrupt"
 );
 }
 });

 process.stderr.on("data", (chunk: string) => {
 chunk
 .toString()
 .split(/\r?\n/g)
 .filter(Boolean)
 .forEach(async (line: any) => {
 console.log(line);
 if (line.startsWith("ffmpeg version")) {
 for (const consumer of consumers) {
 await consumer.resume();
 }
 }
 });
 });

 // this works!!
 setTimeout(() => {
 stopRecord(process);
 }, 10000);


 return process;
}

// this not works!! I call this function externally inside express router on API request
export function stopRecord(process: any) {
 process.kill('SIGINT');
}



Linux process stays alive when I call stopRecord() inside express router, but property "killed" of process marked as true. It's only works when I send "SIGKILL" inside express router. I need to exit normally, because ffmpeg needs to save mp4 metadata.


So the general question is : Why stopRecord function works inside timeout even with "SIGINT" code, but it doesn't when I call this function externally inside express router. Only "SIGKILL" works when I call stopRecord() inside express router.


Renaming my "process" field doesn't help.


I really don't understand why the same function works different inside timeout and inside express router. And I very thankful for any advice !


I'm using node, typescript and express.


-
Send sprop-parameter-sets inband rather than in SDP
21 janvier 2021, par MaxI am trying to use ffmpeg to stream an MP4 file over rtp. I am sending the stream to a SFU server that will broadcast the stream to users. The clients are expecting to receive an h264 video stream with profile-level-id
42e01f
. The issue I'm having is that the video received by the clients does not decode properly (just a black screen). If I transcode the video before sending, then everything works correctly. If I dump the SDP that describes what ffmpeg is sending, there is a distinct difference between the transcoded and non-transcoded version.

For the non-transcoded version, my ffmpeg command looks like


ffmpeg '-re' \
 '-v' \
 'info' \
 '-protocol_whitelist' \
 'pipe,tls,file,http,https,tcp,rtp' \
 '-i' \
 '-f' 'mp4' \
 'https://storage.googleapis.com/my_bucket/file' \
 '-map' \
 '0:v:0' \
 '-c:v' \
 'copy' \
 '-f' \
 'rtp' \
 '-sdp_file' 'out.sdp' \
 'rtp://142.93.14.110:40425?rtcpport=45155'



When I run this command, out.sdp contains the line


a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z0LAH9kAUAW7AWoCAgKAAAH0gABdwAeMGSQ=,aMuMsg==; profile-level-id=42C01F



However, if I change
-c:v copy
to-c:v libx264 -preset ultrafast
, then the sdp line changes toa=fmtp:96 packetization-mode=1;
. Given that there is no SDP exchange between ffmpeg and my SFU, I think the issue is that ffmpeg needs to be sending the sprops in-band rather than setting them in the sdp. Any help here would be amazing. The other possible issue is that the profile levels are sightly different.

-
Raspberry Pi cannot connect to IP camera, while Windows PC can ?
28 novembre 2020, par gf000I have an IP camera (Provision ISR, DI-320IPS-VF, 2MP IR Vari-Focal Dome IP Camera). When I connect it to my router (it is a 10 or 12 years old TP-LINK TL-WR1043ND), it will immediately show up in "IP Manager" (this is a program by the manufacturer) on my Windows PC. If I double click on the camera's row, Internet Explorer opens up, and everything is working fine. On the same Windows PC, if I open VLC Media Player, and paste this URL : rtsp ://username:password@localipaddress:554/profile1
It works fine.


I have also a "Raspberry Pi 4 model B 4 GB RAM", which is connected to the same router. If I open VLC Media Player, and I paste the same URL, it doesn't work. I also created an ffmpeg one-liner, which would take a photo, but that is also not working.


My final goal would be to be able to take photos with that ffmpeg one-liner, on the Raspberry Pi.


Maybe the Raspberry Pi is not powerful enough to handle the stream ? Or, could it be the problem that the IP-camera is sending H-264 / H-265 video stream, and the Raspberry Pi cannot handle it ?


Thank you for your help. Any idea could help me.