
Recherche avancée
Autres articles (112)
-
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 (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
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 (...)
Sur d’autres sites (12026)
-
how does decoder handle media packet lose/out of order/repeat ?
20 mai 2021, par woderthis might not be a good question, because it is big, but sincerely, I want to get the overall knowledge of Quality guarantee of video communication:


we know it media packet will
lose
orout of order
orrepeat
in network realtime communication :

In transport layer, assume that we use rtp to transport media and rtcp to control and feedback ; we can use a buffer to save rtp packets, so we can reorder packets by rtp sequence to solve problem
out of order
, and filter repeat packets to solverepeat
, use rtcp packet to tell the sender that I have lost rtp packet of sequence xxx to solvelose
;

But I have a lot of confusions on decode layer, assume that we have got media packets now and start decoding packets :


Question 1 : We know what if we lose a
I frame
, the subsequentP/B frames
will fail to decode, but what will hapen if we lose aP/B frame
? In h.264, there areinter-predict
, what if the lostP/B frame
was referred by subsequent frames, does subsequent frames will totally fail to decode ? Or just theinter-predict
macroblocks of subsequent frames will fail to decode whileintra-predict
macroblocks can be decoded then the decoder still can generate a broken frame to us ?

Question 2 : one frame might be consisted of multiple packets, what if we lose a packet, does this frame will totally fail to decode ? Or we can get a broken frame ?


Question 3 : Do media decoders like x264/openh264 will handle packets repeat and out of order ?


-
How to set the quality of an mp3 Codec with PyAV
16 février 2024, par ZvikaI wrote a simple code to create a .mp3 file from any audio input, using PyAV. It's working (pasted at the end of the question). However, when using
ffmpeg
it's possible to set the quality of the .mp3 file, and I'd like to do this as well in my code. According to the ffmpeg documentation :



q (-V)


Set constant quality setting for VBR. This option is valid only using the ffmpeg command-line tool. For library interface users, use
global_quality
.



So, the question is how do I use
global_quality
with PyAV ?

I found it at PyAV documentation, listed as
Wrapped C Types and Functions
, understruct AVCodecContext
, but I still don't understand how to use this.

I tried creating an
AudioCodecContext
(which is the closest thing to AVCodecContext I found) withc = av.Codec('mp3').create()
, but it doesn't seem to have aglobal_quality
field.

My existing function :


def encode_audio_to_mp3(input_file_path, output_file_path):
 input_container = av.open(input_file_path)
 output_container = av.open(output_file_path, 'w')
 output_stream = output_container.add_stream('mp3')
 
 for in_packet in input_container.demux():
 for in_frame in in_packet.decode():
 for out_packet in output_stream.encode(in_frame):
 output_container.mux(out_packet)
 
 # Flush stream
 for packet in output_stream.encode():
 output_container.mux(packet)
 
 output_container.close()
 input_container.close()



-
Build error caused by missing library arc4random
25 mai 2016, par Omega1001I’m currently working on a Streaming framework, and decided to use ffmpeg to encode and or decode my Video and or Audio.
So i clicked through https://ffmpeg.org for the api files, and downloaded the statically linked version only to find out it actually contained a .exe (I use Windows in development, but plan on using Linux in production) instead of one or more dll’s and header informations.
Since i don’t think i can use the ’exe’ as replacement for an dll, i cloned the git source, and tried to compile it myself.
Then, while compiling i run into this error :
CC libavutil/random_seed.o
libavutil/random_seed.c: In function 'av_get_random_seed':
libavutil/random_seed.c:130:12: error: implicit declaration of function 'arc4random' [-Werror=implicit-function-declaration]
return arc4random();
^
cc1: some warnings being treated as errors
common.mak:60: recipe for target 'libavutil/random_seed.o' failed
make: *** [libavutil/random_seed.o] Error 1As far as I can tell, this means that I’m missing the library arc4random, so I started searching for this lib, and found absolutly nothing, besides the fact that this library is somehow Apple related..., but no dll’s and stuff or sources to compile it myself.
I use cygwin and its GCC to compile on 64-Bit windows 7 Machine.
Can anyone hint me to some location where I can get this missing library, or some other possibility to get ffmpeg as library into my project ?
(I would prefer something I can link statically , since this project is meant to be a lib by itself)Maybe is there a way I can make use of that downloaded exe of ffmpeg, since i can borrow its headers from the source I cloned from Git ?
Any Hint appreciated.
Best Regards,
Jannik Adam