
Recherche avancée
Autres articles (93)
-
L’utiliser, en parler, le critiquer
10 avril 2011La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
Une liste de discussion est disponible pour tout échange entre utilisateurs. -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users.
Sur d’autres sites (10828)
-
Monitor multiple instances of same process
18 décembre 2013, par user3116597I'm trying to monitor multiple instances of the same process. I can't for the life of me do this without running into a problem.
All the examples I have seen so far on the internet involve me writing out the PID or monitoring the process itself. The issue is that if one instance fails, it doesn't mean all the rest have failed as well.
In order for me to write out the PID for each process it would mean I'd probably have to run each process with a short delay to record the correct, seeing as the way I need to record the PID is done through the process name being probed.
If I'm wrong on this, please correct me. But so far I haven't found a way to monitor each individual process, which all have the same name.
To add to the above, the processes are run in a batch script and each one is run in its own screen (ffmpeg would otherwise not be able to run in the background).
If anyone can point me vaguely in the right direction on how to do this in Linux I would really appreciate it. I read somewhere that it would be possible to set up symlinks which would then give me fake process names and that way I can monitor the 'fake' process name.
-
Decode h264 video bytes into JPEG frames in memory with ffmpeg
5 février 2024, par John KarkasI'm using python and ffmpeg (4.4.2) to generate a h264 video stream from images produced continuously from a process. I am aiming to send this stream over websocket connection and decode it to individual image frames at the receiving end, and emulate a stream by continuously pushing frames to an
<img style='max-width: 300px; max-height: 300px' />
tag in my HTML.

However, I cannot read images at the receiving end, after trying combinations of
rawvideo
input format,image2pipe
format, re-encoding the incoming stream withmjpeg
andpng
, etc. So I would be happy to know what the standard way of doing something like this would be.

At the source, I'm piping frames from a while loop into ffmpeg to assemble a h264 encoded video. My command is :


command = [
 'ffmpeg',
 '-f', 'rawvideo',
 '-pix_fmt', 'rgb24',
 '-s', f'{shape[1]}x{shape[0]}',
 '-re',
 '-i', 'pipe:',
 '-vcodec', 'h264',
 '-f', 'rawvideo',
 # '-vsync', 'vfr',
 '-hide_banner',
 '-loglevel', 'error',
 'pipe:'
 ]



At the receiving end of the websocket connection, I can store the images in storage by including :


command = [
 'ffmpeg',
 '-i', '-', # Read from stdin
 '-c:v', 'mjpeg',
 '-f', 'image2',
 '-hide_banner',
 '-loglevel', 'error',
 f'encoded/img_%d_encoded.jpg'
 ]



in my ffmpeg command.


But, I want to instead extract each individual frame coming in the pipe and load in my application, without saving them in storage. So basically, I want whatever is happening at by the
'encoded/img_%d_encoded.jpg'
line in ffmpeg, but allowing me to access each frame in the stdout subprocess pipe of an ffmpeg pipeline at the receiving end, running in its own thread.

- 

- What would be the most appropriate ffmpeg command to fulfil a use case like the above ? And how could it be tuned to be faster or have more quality ?
- Would I be able to read from the stdout buffer with
process.stdout.read(2560x1440x3)
for each frame ?






If you feel strongly about referring me to a more update version of ffmpeg, please do so.


PS : It is understandable this may not be the optimal way to create a stream. Nevertheless, I do not find there should be much complexity in this and the latency should be low. I could instead communicate JPEG images via the websocket and view them in my
<img style='max-width: 300px; max-height: 300px' />
tag, but I want to save on bandwidth and relay some computational effort at the receiving end.

-
For modifying MPEG-2 Part 4 video, which is the easiest library/approach can I use ?
17 décembre 2015, par liamzebedeeI’m trying to implement a video watermarking system which modifies a subset of individual pixels (i.e. the RGB values at sets of
x,y
). The base use case would be modifying an MP4, which consists of modifying the contained MPEG-2 Part 4 Video stream.I’ve done some research, and have found that it isn’t as simple as just modifying the raw frames, as the ubiquitous P-frames and B-frames rely on compressing the output by only storing the differences between frames.
I’m relatively technology-agnostic, I just want to find a solution. Which library/framework should I use (seems like ffmpeg for now) and which approach do I take ?