
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (62)
-
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
Demande de création d’un canal
12 mars 2010, parEn fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (7342)
-
Live streaming multiple bitrates with FFmpeg and node.js
14 juillet 2014, par user2757842I am looking for an efficient way of transcoding a live stream and breaking it up into different bit rates, I have it working as of now but I have to state each time which video I would like to address as well as each different bit rate, example below :
var spawn = require('child_process').spawn;
/*
var ffmpeg = spawn('C:\\Users\\Jay\\Documents\\FFMPEG\\bin\\ffmpeg.exe', [
'-i',
'rtmp://192.168.201.8/livepkgr/livestream2 live=1',
'-movflags',
'isml+frag_keyframe',
'-f',
'ismv',
'http://192.168.201.237/LiveSmoothStreaming.isml/Streams(video2)'
]);
*/
var ffmpeg = spawn('C:\\Users\\Jay\\Documents\\FFMPEG\\bin\\ffmpeg.exe', [
'-i',
'rtmp://192.168.201.8/livepkgr/livestream live=1',
'-ac',
'2',
'-b:a',
'64k',
'-c:v',
'libx264',
'-b:v:0',
'150k' /* first bit rate i want */ ,
'-movflags',
'isml+frag_keyframe',
'-f',
'ismv',
'http://192.168.201.237/LiveSmoothStreaming2.isml/Streams(video1)',
'-c:v',
'libx264',
'-b:v:0',
'500k' /* second bit rate i want */ ,
'-movflags',
'isml+frag_keyframe',
'-f',
'ismv',
'http://192.168.201.237/LiveSmoothStreaming2.isml/Streams(video3)'
]);As you can see, this is not a very efficient way of doing it as this is only for 2 bit rates, I have to give a video name (video1, video 3 etc) each time I want a new bit rate and then I have to give it it’s bit rate (150k, 500k etc). If I wanted anymore bitrates, the code lines would go on and on and it would quickly become messy.
Has anyone worked within the world of Node.js and FFmpeg that could maybe point me in the direction of managing this more efficiently ? Or even link me to a page which would help me out ?
Cheers
-
FFMPEG FDKAAC and Python
3 avril 2024, par Eric BarkerBeen banging my head against the wall for days on this. I'm writing a python program to take a 48kHz WAV file, convert it to 44.1kHz and encode it to HE-AAC via FDKAAC. FDK cannot convert to sample rates, so I'm using FFMPEG as the wrapper and piping it through FDKAAC. In a perfect world, I'd make a custom build of FFMPEG with FKD, but I've run into loads of issues on our Windows Server 2019 machine trying to build out FFMPEG, so I'm using vanilla FFMPEG with FDK piped in.


I can get the command to work perfectly from a command prompt :


ffmpeg -progress pipe:2 -i -f wav -ar 44100 - | fdkaac -p 5 -b 64000 -o 



But when I try to split it in Python for a Popen, it tries to evaluate the arguments and fails because ffmpeg doesn't have a "-p" argument :


cmd = ['ffmpeg', '-progress', 'pipe:2', '-i', inFile, \
 '-f', 'wav', '-ar', '44100', '-', '|', \
 'fdkaac', '-p', '5', '-b', '64000', '-o', outFile]
fdkProcess = subprocess.Popen(cmd,
 stdout=subprocess.PIPE,
 universal_newlines=True)
for line in fdkProcess.stdout:
 print(line)



RESULT :


Unrecognized option 'p'.
Error splitting the argument list: Option not found



I'll admit, I don't fully understand the pipeline process, and how to split commands via the "|" flag, and have them properly feed into stdout for the subprocess function to work correctly. I'm fairly new to python, and very new to programmatically capturing the output of a process like ffmpeg.


-
Back on the Salty Track
12 juin 2011, par Multimedia Mike — GeneralAfter I posted about my initial encounter and frustration with Google’s Native Client (NaCl) SDK and took a deep breath, I realized that I achieved an important proof of concept— I successfully played music using the NaCl SDK audio output interface. Then I started taking a closer read through the (C-based set of) header files and realized I might be able to make a go of it after all. I had much better luck this time and managed to create a proper Native Client interface that allows for controlling playback, presenting metadata, and toggling individual voices (a fascinating tool for studying classic game music).
I haven’t bothered to post the actual plugin because, really, what’s the point ? I started with NaCl SDK 0.3 which requires Chrome 12, which means terribly limited reach, even among Chrome users. At least, that was true when I restarted this little project. Chrome 12 was formally released this past week. Chrome development really does move at breakneck pace.
Anyway, here is a static screenshot of what the plugin currently looks like :
Not pretty, but it does the job.
Dev Journal
Various notes based on this outing :- Portability : I tested my plugin using Chrome 12 on 64-bit Windows, Mac, and Linux. Mac and Linux both work ; Windows does not.
- Build System : SDK 0.3 is still lacking in its ability to compile .cpp files (instead of .cc files) ; necessary because libgme is C++ using .cpp files. This requires some build system modification.
- Getting the interfaces : This is where I got tripped up the first time around. get_browser_interface() from their example actually refers to a parameter passed in through the PPP_InitializeModule() function. The SDK’s template generator renames this to get_browser().
- Debugging : I feel unstoppable once I have a printf() mechanism available to me during development. To that end, console.log() from JavaScript outputs to Chrome’s built-in JavaScript console log while putting printf() statements in the actual NaCl plugin causes the messages to show up in /.xsession-errors on Linux/X.
- Size Matters : The binaries generated with the NaCl 0.3 SDK are ridiculously huge. The basic "Hello World" example in C compiles to binaries that are 6.7 MB and 7.8 MB for the 32- and 64-bit builds, respectively. This made me apprehensive to build a full version of SaltyGME that contains all the bells and whistles offered by the library. However, all of the GME code compiled into the binary adds very little size. Curiously, the C++ version of "Hello World" only ranges from 1.8-2.0 MB for 32- and 64-bit. Is there some kind of C tax happening here ? Note that running ’strip’ on the resulting .nexe files (they’re ELF files, after all) brings the sizes down into the C++ range, but at the cost of causing them to not work (more specifically, not even load).
- No Messaging : The NaCl SDK is supposed to have a messaging interface which allows the NaCl plugin to send asynchronous messages up to the hosting page. When I try to instantiate it, I get a NULL. I’m stuck with the alternative of polling from the JavaScript side to, e.g., determine when a song has finished loading via the network.
That’s all I can think of for now. I may work on this a little more (I’d like to at least see some audio visualization). Maybe Google will enable NaCl per default sometime around Chrome 21 and this program will be ready for prime time by then.
See Also :