
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (105)
-
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 (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang 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.
Sur d’autres sites (11656)
-
How to grab ffmpeg's output as binary and write it to a file on the fly such that video players can play it in real time ?
29 décembre 2022, par Mister MystèreI want to stream a RTSP-streaming device to a video player such as VLC but the catch is that, in between, the binary data needs to go through a custom high-speed serial link. I control what goes in this link from a C++ program.


I was happily surprised to see that the following line allowed me to watch the RTSP stream by just opening "out.bin" from VLC which was a good lead for fast and efficient binary transmission of the stream :


ffmpeg -i "rtsp://admin:password@X.X.X.X:554/h264Preview_01_main" -c:v copy -c:a copy -f mpegts out.bin



I already wondered how ffmpeg manages to allow VLC to read that file, while itself writing to it at the same time. Turns out I was right to wonder, see below.


I told myself I could make this command pipe its output to the standard output, and then in turn pipe the standard output to a file that I can read, (later, slice it, transmit the chunks and reconstruct it) and then write to an output file. However, this does not work :


#include 
#include 
#include 

#define BUFSIZE 188 //MPEG-TS packet size

int main()
{
 char *cmd = (char*)"ffmpeg -i \"rtsp://admin:password@X.X.X.X:554/h264Preview_01_main\" -c:v copy -c:a copy -f mpegts pipe:1 -loglevel quiet";
 char buf[BUFSIZE];
 FILE *ptr, *file;

 file = fopen("./out.bin", "w");

 if (!file)
 {
 printf("Failed to open output file for writing, aborting");
 abort();
 }

 if ((ptr = popen(cmd, "r")) != NULL) {
 printf("Writing RTSP stream to file...");

 while (!kbhit())
 {
 if(fread(&buf, sizeof(char), BUFSIZE, ptr) != 0)
 {
 fwrite(buf, sizeof(char), BUFSIZE, file);
 }
 else
 {
 printf("No data\n");
 }
 }
 pclose(ptr);
 }
 else
 {
 printf("Failed to open pipe from ffmpeg command, aborting");
 }

 printf("End of program");

 fclose(file);
 return 0;
}



Since VLC says "your input can't be opened" - whereas this works just fine :


ffmpeg -i "rtsp://admin:password@X.X.X.X:554/h264Preview_01_main" -c:v copy -c:a copy -f mpegts pipe:1 -loglevel quiet > out.bin



This is what ends up in the file after I close the program, versus the result of the command immediately above :



The file is always 2kB regardless of how long I run the program : "No data" is shown repeatedly in the console output.


Why doesn't it work ? If it is not just a bug, how can I grab the stream as binary at some point, and write it at the end to a file that VLC can read ?


Update


New code after applying Craig Estey's fix to my stupid mistake. The end result is that the MPEG-TS frames don't seem to shift anymore but the file writing stops partway into one of the first few frames (the console only shows a few ">" symbols and then stays silent, c.f. code).


#include 
#include 
#include 

#define BUFSIZE 188 // MPEG-TS packet size

int
main()
{
 char *cmd = (char *) "ffmpeg -i \"rtsp://127.0.0.1:8554/test.sdp\" -c:v copy -c:a copy -f mpegts pipe:1 -loglevel quiet";
 char buf[BUFSIZE];
 FILE *ptr,
 *file;

 file = fopen("./out.ts", "w");

 if (!file) {
 printf("Failed to open output file for writing, aborting");
 abort();
 }

 if ((ptr = popen(cmd, "r")) != NULL) {
 printf("Writing RTSP stream to file...");

 while(!kbhit()) {
 ssize_t rlen = fread(&buf, sizeof(char), BUFSIZE, ptr);
 if(rlen != 0)
 {
 printf(">");
 fwrite(buf, sizeof(char), rlen, file);
 fflush(file);
 }
 }
 pclose(ptr);
 }
 else {
 printf("Failed to open pipe from ffmpeg command, aborting");
 }

 printf("End of program");

 fclose(file);
 return 0;
}



This can be tested on any computer with VLC and a webcam : open VLC, open capture device, capture mode directshow, (switch "play" for "stream"), next, display locally, select RTSP, Add, path=/test.sdp, next, transcoding=H264+MP3 (TS), replace rtsp ://:8554/ with rtsp ://127.0.0.1:8554/ in the generated command line, stream.


To test that streaming is ok, you can just open a command terminal and enter "ffmpeg -i "rtsp ://127.0.0.1:8554/test.sdp" -c:v copy -c:a copy -f mpegts pipe:1 -loglevel quiet", the terminal should fill up with binary data.


To test the program, just compile, run, and open out.ts after the program has run.


-
Developers and vendors : Want a Matomo Hoodie ? Add a tag to the Matomo Open Source Tag Manager and this could be yours !
7 juin 2018, par Matomo Core Team — Community, DevelopmentThe Free Open Source Tag Manager is now available as a public beta on the Matomo Marketplace. Don’t know what a Tag Manager is ? Learn more here. In Short : It lets you easily manage all your third party JavaScript and HTML snippets (analytics, ads, social media, remarketing, affiliates, etc) through a single interface.
Over the last few months we have worked on building the core for the Matomo Tag Manager which comes with a great set of features and a large set of pre-configured triggers and variables. However, we currently lack tags.
This is where we need your help ! Together we can build a complete and industry leading open source tag manager.
Tag examples include Google AdWords Conversion Tracking, Facebook Buttons, Facebook Pixels, Twitter Universal Website Tags, LinkedIn Insights.
Are you a developer who is familiar with JavaScript and keen on adding a tag ? Or are you a vendor ? Don’t be shy, we appreciate any tags, even analytics related :) We have documented how to develop a new tag here, which is quite easy and straightforward. You may also need to understand a tiny bit of PHP but you’ll likely be fine even if you don’t (here is an example PHP file and the related JS file).
As we want to ship the Matomo Tag Manager with as many tags as possible out of the box, we appreciate any new tag additions as a pull request on https://github.com/matomo-org/tag-manager.
We will send out “Matomo Contributor” stickers that cannot be purchased anywhere for every contributor who contributes a tag within the next 3 months. As for the top 3 contributors… you’ll receive a Matomo hoodie ! Simply send us an email at hello@matomo.org after your tag has been merged. If needed, a draw will decide who gets the hoodies.
FYI : The Matomo Tag Manager is already prepared to be handled in different contexts and we may possibly generate containers for Android and iOS. If you are keen on building the official Matomo SDKs for any of these mobile platforms, please get in touch.
-
avformat : add AV1 RTP depacketizer and packetizer
26 août 2024, par Chris Hodgesavformat : add AV1 RTP depacketizer and packetizer
Add RTP packetizer and depacketizer according to (most)
of the official AV1 RTP specification. This enables
streaming via RTSP between ffmpeg and ffmpeg and has
also been tested to work with AV1 RTSP streams via
GStreamer.It also adds the required SDP attributes for AV1.
AV1 RTP encoding is marked as experimental due to
draft specification status, debug amount reduced
and other changes suggested by Tristan.Added optional code for searching the sequence
header to determine the first packet for broken
AV1 encoders / parsers.Stops depacketizing on corruption until next keyframe,
no longer prematurely issues packet on decoding if
temporal unit was not complete yet.Change-Id : I90f5c5b9d577908a0d713606706b5654fde5f910
Signed-off-by : Chris Hodges <chrishod@axis.com>
Signed-off-by : Ronald S. Bultje <rsbultje@gmail.com>