
Recherche avancée
Autres articles (73)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (12139)
-
LibAV - what approach to take for realtime audio and video capture ?
26 juillet 2012, par polluxI'm using libav to encode raw RGB24 frames to h264 and muxing it to flv. This works
all fine and I've streamed for more then 48 hours w/o any problems ! My next step
is to add audio to the stream. I'll be capturing live audio and I want to encode it
in real time using speex, mp3 or nelly moser.Background info
I'm new to digital audio and therefore I might be doing things wrong. But basically my application gets a "float" buffer with interleaved audio. This "audioIn" function gets called by the application framework I'm using. The buffer contains 256 samples per channel,
and I have 2 channels. Because I might be mixing terminology, this is how I use the
data :// input = array with audio samples
// bufferSize = 256
// nChannels = 2
void audioIn(float * input, int bufferSize, int nChannels) {
// convert from float to S16
short* buf = new signed short[bufferSize * 2];
for(int i = 0; i < bufferSize; ++i) { // loop over all samples
int dx = i * 2;
buf[dx + 0] = (float)input[dx + 0] * numeric_limits<short>::max(); // convert frame of the first channel
buf[dx + 1] = (float)input[dx + 1] * numeric_limits<short>::max(); // convert frame of the second channel
}
// add this to the libav wrapper.
av.addAudioFrame((unsigned char*)buf, bufferSize, nChannels);
delete[] buf;
}
</short></short>Now that I have a buffer, where each sample is 16 bits, I pass this
short* buffer
, to my
wrapperav.addAudioFrame()
function. In this function I create a buffer, before I encode
the audio. From what I read, theAVCodecContext
of the audio encoder sets theframe_size
. This frame_size must match the number of samples in the buffer when callingavcodec_encode_audio2()
. Why I think this, is because of what is documented here.Then, especially the line :
If it is not set,frame->nb_samples
must be equal toavctx->frame_size
for all frames except the last.*(Please correct me here if I'm wrong about this).After encoding I call
av_interleaved_write_frame()
to actually write the frame.
When I use mp3 as codec my application runs for about 1-2 minutes and then my server, which is receiving the video/audio stream (flv, tcp), disconnects with a message "Frame too large: 14485504
". This message is generated because the rtmp-server is getting a frame which is way to big. And this is probably due to the fact I'm not interleaving correctly with libav.Questions :
-
There quite some bits I'm not sure of, even when going through the source code of libav and therefore I hope if someone has an working example of encoding audio which comes from a buffer which which comes from "outside" libav (i.e. your own application). i.e. how do you create a buffer which is large enough for the encoder ? How do you make the "realtime" streaming work when you need to wait on this buffer to fill up ?
-
As I wrote above I need to keep track of a buffer before I can encode. Does someone else has some code which does this ? I'm using AVAudioFifo now. The functions which encodes the audio and fills/read the buffer is here too : https://gist.github.com/62f717bbaa69ac7196be
-
I compiled with —enable-debug=3 and disable optimizations, but I'm not seeing any
debug information. How can I make libav more verbose ?
Thanks !
-
-
Using LibX265 with FFMPEG to encode YUV to MKV
11 mars 2014, par Jonathan LunbergI am trying to use libx265 to encode my raw YUV file to a MKV file for the purposes of testing. I am new to video compression and hope I'm making a simple mistake that someone can correct. The current command I'm using is :
ffmpeg -s 1280:720 -i input.yuv -c:v libx265 -b:v 1000k -c:a copy output.mkv
The error that I'm getting reads :
error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
I have tried searching for the parameters I need to use but cannot fine anything which works. Any help is greatly appreciated
-
FFmpeg converted mp4 file fails to load in Quicktime
21 décembre 2015, par woneaI’ve been using FFmpeg to convert a movie I need to play in MP4, however in Quicktime the following error is presented ;
(Error -2041 : an invalid sample description was found in the movie (output.mp4)).
I used the following FFmpeg command parameters to convert the file ;
C :\Temp\EOBTemp>ffmpeg -i input.mp4 -y
-acodec libmp3lame -ab 96k -vcodec libx264 -vpre lossless_slow -crf 22
-threads 0 output.mp4Now this file plays absolutely fine, in Windows Media Player, and VideoLAN (FFmpeg based, so no surprise here. I using the latest build from HawkEye’s FFmpeg Windows Builds
(FFmpeg git-a304071 32-bit Static (Latest)).I really hope this isn’t a AAC problem, as I’ve been trying to get FFmpeg to use the libfaac.dll library (in the same folder as the FFmpeg.exe) with the command ;
-acodec libfaac
Help ! I’m at a loss !