
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (17)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community. -
Les statuts des instances de mutualisation
13 mars 2010, parPour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...)
Sur d’autres sites (3358)
-
An efficient way to use Windows Named Pipe for IPC
26 juillet 2020, par Ehsan5I am using
jna
module to connect two processes that both perform FFMPEG commands. SendSDTOUT
of FFMPEG command on the server side to NampedPipe and receiveSTDIN
from that NampedPipe for other FFMPEG command on the Client side.

this is how I capture
STDOUT
and send into the pipe in server Side :

InputStream out = inputProcess.getInputStream();
byte[] buffer = new byte[maxBufferSize];
while (inputProcess.isAlive()) {
 int no = out.available();
 if (no > 0 && no > maxBufferSize) {
 int n = out.read(buffer, 0,maxBufferSize);
 IntByReference lpNumberOfBytesWritten = new IntByReference(maxBufferSize);
 Kernel32.INSTANCE.WriteFile(pipe, buffer, buffer.length, lpNumberOfBytesWritten, null);
 }
}



And this is how I capture
STDIN
and feed it to the Client Side :

OutputStream in = outputProcess.getOutputStream();
while (pipeOpenValue >= 1 && outputProcess.isAlive() && ServerIdState) {
 // read from pipe
 resp = Kernel32.INSTANCE.ReadFile(handle, readBuffer,readBuffer.length, lpNumberOfBytesRead, null);
 // Write to StdIn inputProcess
 if (outputProcess != null) {
 in.write(readBuffer);
 in.flush();
 }
 // check pipe status
 Kernel32.INSTANCE.GetNamedPipeHandleState(handle, null,PipeOpenStatus, null, null, null, 2048);
 pipeOpenValue = PipeOpenStatus.getValue();
 WinDef.ULONGByReference ServerId = new WinDef.ULONGByReference();
 ServerIdState = Kernel32.INSTANCE.GetNamedPipeServerProcessId(handle, ServerId);
}



But I faced two problems :


- 

- High CPU usage due to iterating two loops in Server and Client. (find by profiling resources by VisualVM)
- Slower operation than just connecting two FFMPEG command with regular
|
in command prompt. Speed depends on buffer size but large buffer size blocks operation and small buffer size reduce speed further.






Questions :


- 

- Is there any way not to send and receive in chunks of bytes ? Just stream
STDOUT
to the Namedpipe and capture it in Client. (Eliminate two Loops) - If I cant use NampedPipe, is there any other way to Connect two FFMPEG process that runs in different java modules but in the same machine ?






Thanks


-
Merge commit ’930ffd46e1e742674aa7cc1c2450020c63b5015b’
4 novembre 2014, par Michael NiedermayerMerge commit ’930ffd46e1e742674aa7cc1c2450020c63b5015b’
* commit ’930ffd46e1e742674aa7cc1c2450020c63b5015b’ :
aacsbr : change order of operation to prevent out of array readConflicts :
libavcodec/aacsbr.cSee : c2340831b8e9032716acb0aab4893d3cc500213a
Merged-by : Michael Niedermayer <michaelni@gmx.at> -
Is there a way to speed up audio processing (amix and adelay) in FFMPEG ?
22 mars 2018, par NadirI’m using, in android application, many
ffmpeg
amix and adelay filter commands over very small mp3 files (not longer than 3 seconds).
Unfortunately each adelay or amix command takes between 2 and 4 seconds to execute, which is a lot considering that I should run the same operation for a lot of files.
Here are two example of commands I’m running :amix :
[-i, input1.mp3, -i, input2.mp3, -filter_complex, amix=inputs=2:duration=longest:dropout_transition=0,dynaudnorm=f=100[aout], -map, [aout], -ac, 2, -c:a, libmp3lame, -q:a, 4, output.mp3]
adelay :
[-i, input3.mp3, -filter_complex, [0:a]adelay=1|1, -c:a, libmp3lame, output1.mp3]
I know in video there is an option (-preset ultrafast) to make the execution faster, is there a way to do the same for audio ?