
Recherche avancée
Médias (3)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (96)
-
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 (...)
-
Installation en mode standalone
4 février 2011, parL’installation de la distribution MediaSPIP se fait en plusieurs étapes : la récupération des fichiers nécessaires. À ce moment là deux méthodes sont possibles : en installant l’archive ZIP contenant l’ensemble de la distribution ; via SVN en récupérant les sources de chaque modules séparément ; la préconfiguration ; l’installation définitive ;
[mediaspip_zip]Installation de l’archive ZIP de MediaSPIP
Ce mode d’installation est la méthode la plus simple afin d’installer l’ensemble de la distribution (...)
Sur d’autres sites (8107)
-
Decoding by libjpeg -> Encoding by x264, strange artefacts on frames
15 mai 2013, par mmmaaakI have a collection of jpeg, which must be decoded by lib jpeg, and after it, encoded by x264 (after it encoded packets are streamed via rtmp).
Code I used for decoding :struct my_error_mgr
{
struct jpeg_error_mgr pub;
jmp_buf setjmp_buffer;
};
typedef my_error_mgr *my_error_ptr;
METHODDEF(void) my_error_exit (j_common_ptr cinfo)
{
my_error_ptr myerr = (my_error_ptr) cinfo->err;
(*cinfo->err->output_message) (cinfo);
longjmp(myerr->setjmp_buffer, 1);
}
void init_source(j_decompress_ptr ptr)
{
Q_UNUSED(ptr)
}
boolean fill_input_buffer(j_decompress_ptr ptr)
{
Q_UNUSED(ptr)
return TRUE;
}
void term_source(j_decompress_ptr ptr)
{
Q_UNUSED(ptr)
}
void skip_input_data(j_decompress_ptr ptr, long num_bytes)
{
if(num_bytes>0)
{
ptr->src->next_input_byte+=(size_t)num_bytes;
ptr->src->bytes_in_buffer-=(size_t)num_bytes;
}
}
EtherDecoder::EtherDecoder(QObject *parent):
QObject(parent)
{
}
void EtherDecoder::dataBlockReady(QByteArray data)
{
jpeg_decompress_struct decompressInfo;
jpeg_create_decompress(&decompressInfo);
my_error_mgr err;
decompressInfo.do_fancy_upsampling = FALSE;
decompressInfo.src = (jpeg_source_mgr *) (*decompressInfo.mem->alloc_small) ((j_common_ptr) &decompressInfo, JPOOL_PERMANENT, sizeof(jpeg_source_mgr));
decompressInfo.err = jpeg_std_error(&err.pub);
err.pub.error_exit = my_error_exit;
if (setjmp(err.setjmp_buffer))
{
jpeg_destroy_decompress(&decompressInfo);
return;
}
decompressInfo.src->init_source = init_source;
decompressInfo.src->resync_to_restart = jpeg_resync_to_restart;
decompressInfo.src->fill_input_buffer = fill_input_buffer;
decompressInfo.src->skip_input_data = skip_input_data;
decompressInfo.src->term_source = term_source;
decompressInfo.src->next_input_byte = reinterpret_cast<const>(data.data());
decompressInfo.src->bytes_in_buffer = data.size();
jpeg_read_header(&decompressInfo, TRUE);
jpeg_start_decompress(&decompressInfo);
int size = 0;
int n_samples = 0;
char *samples = new char[5242880];
char *reserv = samples;
while (decompressInfo.output_scanline < decompressInfo.output_height)
{
n_samples = jpeg_read_scanlines(&decompressInfo, (JSAMPARRAY) &samples, 1);
samples += n_samples * decompressInfo.image_width * decompressInfo.num_components;
size += n_samples * decompressInfo.image_width * decompressInfo.num_components;
}
jpeg_finish_decompress(&decompressInfo);
QByteArray output(reserv, size);
emit frameReady(output, decompressInfo.output_width, decompressInfo.output_height);
jpeg_destroy_decompress(&decompressInfo);
delete[] reserv;
}
</const>When I emit frameReady signal, I send data to Encoder, method, where I init Encedor looks like :
bool EtherEncoder::initEncoder(unsigned int width, unsigned int height)
{
x264_param_t param;
x264_param_default_preset(&param, "veryfast", "zerolatency");
param.i_width=width;
param.i_height=height;
param.i_frame_total=0;
param.i_csp=X264_CSP_I420;
param.i_timebase_num=1;
param.i_timebase_den=96000;
param.b_annexb=true;
param.b_repeat_headers=false;
x264_param_apply_fastfirstpass(&param);
x264_param_apply_profile(&param, "baseline");
_context=x264_encoder_open(&param);
if(!_context)
return false;
int nal_count;
x264_nal_t *nals;
if(x264_encoder_headers(_context, &nals, &nal_count)<0)
{
x264_encoder_close(_context);
_context=0;
return false;
}
_extradata=QByteArray();
_width=width;
_height=height;
if(nal_count>0)
{
_extradata=QByteArray(
(const char *)nals[0].p_payload,
nals[nal_count-1].p_payload+nals[nal_count-1].i_payload-nals[0].p_payload);
}
return true;
}And encoding method :
void EtherEncoder::onFrameReady(QByteArray data, int width, int height)
{
while(data.size()>0)
{
if(!_context && initEncoder(width, height))
{
_timestampDelta=realTimestamp();
}
if(_context)
{
x264_picture_t pic;
x264_picture_init(&pic);
pic.i_type=X264_TYPE_AUTO;
pic.i_pts=_timestampDelta*96000;
pic.img.i_csp=X264_CSP_I420;
pic.img.i_plane=3;
int planeSize = width*height;
uint8_t *p = (uint8_t*)data.data();
pic.img.plane[0]=p;
p+=planeSize;
pic.img.plane[1]=p;
p+=planeSize/4;
pic.img.plane[2]=p;
pic.img.i_stride[0]=width;
pic.img.i_stride[1]=width/2;
pic.img.i_stride[2]=width/2;
if(_forceKeyFrame)
{
pic.i_type=X264_TYPE_I;
_forceKeyFrame=false;
}
int nal_count;
x264_nal_t *nals;
int rc=x264_encoder_encode(_context, &nals, &nal_count, &pic, &pic);
if(rc>0)
{
_mutex.lock();
_packets.push_back(
Packet(
QByteArray(
(const char *)nals[0].p_payload, nals[nal_count- 1].p_payload+nals[nal_count-1].i_payload-nals[0].p_payload),
_timestampDelta/96.0,
_timestampDelta/96.0,
pic.b_keyframe));
_timestampDelta+=40;
data.clear();
_mutex.unlock();
emit onPacketReady();
}
}
}
}Decoding and encoding proceeds without errors, at the end I get valid video stream, but, it seems that in one of this steps I set Invalid data for decoder/encoder. I get only 1/4 part of image (top-left, as I understood) and it has invalid color and come color stripes. Maybe I set invalid strides and planes when encode frame, or maybe my setting data for libjpeg decoder is incorrect.. Please ask questions about my code, I'll try to make some explanations for you. I explodes my brain.. Thank you.
-
Linphone OSx msx264 encryption VGA takes 97% CPU, why ?
11 septembre 2013, par Maxim ShoustinI have problem and today don't know how to fix it or even from where to start.
I have Linphone application that uses msx264 plugin.
All stuff I run on OSx and my ffmpeg version installed from
port
, I didn't using selfupdate for portbash-3.2# port installed ffmpeg-devel
The following ports are currently installed:
ffmpeg-devel @20130205_0+gpl2
ffmpeg-devel @20130328_0 (active)
ffmpeg-devel @20130328_0+gpl2So I compiled and build msx264, no errors.
Now I try to send video over CIP resolution VGA (640x480) and get huge delay 8-9 seconds, even self-view I see in big delay.
when I configure CIF (352x288), all seems fine.
It's really strange that self-view camera has delay 4-5 sec.
So from logs during the session I found that msx264 plugin takes 97% CPU
On PC (windows 7) the same code runs fine, even HD I don't see any problems.
What is the problem should be ?
warning: Video MSTicker: We are late of 32146 miliseconds.
message: Filter MSRtpRecv is not scheduled; nothing to do.
message: ===========================================================
message: AUDIO SESSION'S RTP STATISTICS
message: -----------------------------------------------------------
message: sent 2344 packets
message: 403168 bytes
message: received 2038 packets
message: 350536 bytes
message: incoming delivered to the app 325080 bytes
message: lost 0 packets
message: received too late 123 packets
message: bad formatted 0 packets
message: discarded (queue overflow) 17 packets
message: ===========================================================
message: ms_filter_unlink: MSAuRead:0x7fb5a34955b0,0-->MSResample:0x7fb5aa917820,0
message: ms_filter_unlink: MSResample:0x7fb5aa917820,0-->MSSpeexEC:0x7fb5a34f6d20,1
message: ms_filter_unlink: MSSpeexEC:0x7fb5a34f6d20,1-->MSVolume:0x7fb5a3493450,0
message: ms_filter_unlink: MSVolume:0x7fb5a3493450,0-->MSTee:0x7fb5a3498e40,0
message: ms_filter_unlink: MSTee:0x7fb5a3498e40,0-->MSUlawEnc:0x7fb5a3499410,0
message: ms_filter_unlink: MSUlawEnc:0x7fb5a3499410,0-->MSRtpSend:0x7fb5aa910ba0,0
message: ms_filter_unlink: MSRtpRecv:0x7fb5a3400170,0-->MSUlawDec:0x7fb5a34933c0,0
message: ms_filter_unlink: MSUlawDec:0x7fb5a34933c0,0-->MSGenericPLC:0x7fb5aa91b040,0
message: ms_filter_unlink: MSGenericPLC:0x7fb5aa91b040,0-->MSDtmfGen:0x7fb5a6585f00,0
message: ms_filter_unlink: MSDtmfGen:0x7fb5a6585f00,0-->MSVolume:0x7fb5aa917790,0
message: ms_filter_unlink: MSVolume:0x7fb5aa917790,0-->MSTee:0x7fb5aa914fc0,0
message: ms_filter_unlink: MSTee:0x7fb5aa914fc0,0-->MSEqualizer:0x7fb5a3498f50,0
message: ms_filter_unlink: MSEqualizer:0x7fb5a3498f50,0-->MSSpeexEC:0x7fb5a34f6d20,0
message: ms_filter_unlink: MSSpeexEC:0x7fb5a34f6d20,0-->MSResample:0x7fb5aa9178b0,0
message: ms_filter_unlink: MSResample:0x7fb5aa9178b0,0-->MSAuWrite:0x7fb5a3499380,0
message: ms_filter_unlink: MSTee:0x7fb5a3498e40,1-->MSAudioMixer:0x7fb5aa914df0,0
message: ms_filter_unlink: MSTee:0x7fb5aa914fc0,1-->MSAudioMixer:0x7fb5aa914df0,1
message: ms_filter_unlink: MSAudioMixer:0x7fb5aa914df0,0-->MSFileRec:0x7fb5aa911020,0
message: Audio MSTicker thread exiting
message: ===========================================================
message: FILTER USAGE STATISTICS
message: Name Count Time/tick (ms) CPU Usage
message: -----------------------------------------------------------
message: MSX264Enc 321 138.147 97.1677
message: MSResample 8076 0.0550274 0.97085
message: MSSpeexEC 4302 0.0873765 0.821276
message: MSH264Dec 291 0.880267 0.561463
message: MSRtpSend 6174 0.012353 0.166623
message: MSRtpRecv 6174 0.0115132 0.155295
message: MSOSXGLDisplay 375 0.0376117 0.0308912
message: MSAudioMixer 4695 0.00249638 0.0256072
message: MSV4m 1480 0.00740446 0.0239537
message: MSUlawEnc 4038 0.0019542 0.0172411
message: MSTee 6540 0.000698976 0.00998688
message: MSAuRead 4695 0.00095017 0.0097466
message: MSUlawDec 1890 0.00205553 0.00849059
message: MSVolume 5928 0.000633159 0.00820007
message: MSFileRec 4695 0.000722743 0.00741371
message: MSDtmfGen 4695 0.0005 0.00512887
message: MSGenericPLC 4695 0.000429514 0.00440585
message: MSAuWrite 4038 0.000364199 0.00321319
message: MSEqualizer 1890 0.000250661 0.00103538
message: MSSizeConv 322 0.00104334 0.000736128
message: MSJpegWriter 290 0.000694158 0.00044124
message: MSPixConv 322 0.000405573 0.000286151
message: MSFilePlayer 0 0 0
message: MSVoidSink 0 0 0
message: ===========================================================
warning: Video MSTicker: We are late of 32256 miliseconds.
message: v4m video device closed.
message: Filter MSRtpRecv is not scheduled; nothing to do.
message: ===========================================================
message: VIDEO SESSION'S RTP STATISTICS
message: -----------------------------------------------------------
message: sent 1311 packets
message: 1517528 bytes
message: received 1783 packets
message: 1049010 bytes
message: incoming delivered to the app 986868 bytes
message: lost 0 packets
message: received too late 0 packets
message: bad formatted 0 packets
message: discarded (queue overflow) 0 packets
message: ===========================================================In addition the application shows me delay status, from logs :
message:: Dialog [0x7fb5a7634940]: now updated by transaction [0x7fb5aa9685d0].
warning: Video MSTicker: We are late of 20415 miliseconds.
warning: Video MSTicker: We are late of 20564 miliseconds.
message:: A SPS is being sent.
message:: A PPS is being sent.
warning: Video MSTicker: We are late of 20609 miliseconds.
warning: Video MSTicker: We are late of 20636 miliseconds.
warning: Video MSTicker: We are late of 20694 miliseconds.
warning: Video MSTicker: We are late of 20784 miliseconds.
warning: Video MSTicker: We are late of 20894 miliseconds.
warning: Video MSTicker: We are late of 21016 miliseconds.
warning: echo canceller: we are accumulating too much reference signal, need to throw out 1216 samples
message:: audio_stream_iterate(): local statistics available
Local's current jitter buffer size:77.440002 ms
message:: bandwidth usage: audio=[d=80.1,u=80.1] video=[d=305.3,u=441.8] kbit/sec
message:: Thread processing load: audio=2.135499 video=1268.186768
warning: Video MSTicker: We are late of 21134 miliseconds.
warning: Video MSTicker: We are late of 21256 miliseconds.
warning: Video MSTicker: We are late of 21382 miliseconds.
warning: Video MSTicker: We are late of 21506 miliseconds.
warning: Video MSTicker: We are late of 21638 miliseconds.
warning: Video MSTicker: We are late of 21781 miliseconds.
warning: Video MSTicker: We are late of 21921 miliseconds.
message:: bandwidth usage: audio=[d=81.6,u=80.0] video=[d=271.9,u=185.5] kbit/sec
message:: Thread processing load: audio=1.971647 video=1342.125000
warning: Video MSTicker: We are late of 22068 miliseconds.
message:: audio_stream_iterate(): remote statistics available
remote's interarrival jitter=68
remote's lost packets percentage since last report=0.390625
round trip time=0.258850 seconds
warning: Video MSTicker: We are late of 22216 miliseconds.Please, help me to find the problem.
Thanks,
this is a msx264 git repository :
git clone git://git.linphone.org/msx264.git
-
Linphone OSx msx264 encryption VGA takes 97% CPU, why ?
11 septembre 2013, par Maxim ShoustinI have problem and today don't know how to fix it or even from where to start.
I have Linphone application that uses msx264 plugin.
All stuff I run on OSx and my ffmpeg version installed from
port
, I didn't using selfupdate for portbash-3.2# port installed ffmpeg-devel
The following ports are currently installed:
ffmpeg-devel @20130205_0+gpl2
ffmpeg-devel @20130328_0 (active)
ffmpeg-devel @20130328_0+gpl2So I compiled and build msx264, no errors.
Now I try to send video over CIP resolution VGA (640x480) and get huge delay 8-9 seconds, even self-view I see in big delay.
when I configure CIF (352x288), all seems fine.
It's really strange that self-view camera has delay 4-5 sec.
So from logs during the session I found that msx264 plugin takes 97% CPU
On PC (windows 7) the same code runs fine, even HD I don't see any problems.
What is the problem should be ?
warning: Video MSTicker: We are late of 32146 miliseconds.
message: Filter MSRtpRecv is not scheduled; nothing to do.
message: ===========================================================
message: AUDIO SESSION'S RTP STATISTICS
message: -----------------------------------------------------------
message: sent 2344 packets
message: 403168 bytes
message: received 2038 packets
message: 350536 bytes
message: incoming delivered to the app 325080 bytes
message: lost 0 packets
message: received too late 123 packets
message: bad formatted 0 packets
message: discarded (queue overflow) 17 packets
message: ===========================================================
message: ms_filter_unlink: MSAuRead:0x7fb5a34955b0,0-->MSResample:0x7fb5aa917820,0
message: ms_filter_unlink: MSResample:0x7fb5aa917820,0-->MSSpeexEC:0x7fb5a34f6d20,1
message: ms_filter_unlink: MSSpeexEC:0x7fb5a34f6d20,1-->MSVolume:0x7fb5a3493450,0
message: ms_filter_unlink: MSVolume:0x7fb5a3493450,0-->MSTee:0x7fb5a3498e40,0
message: ms_filter_unlink: MSTee:0x7fb5a3498e40,0-->MSUlawEnc:0x7fb5a3499410,0
message: ms_filter_unlink: MSUlawEnc:0x7fb5a3499410,0-->MSRtpSend:0x7fb5aa910ba0,0
message: ms_filter_unlink: MSRtpRecv:0x7fb5a3400170,0-->MSUlawDec:0x7fb5a34933c0,0
message: ms_filter_unlink: MSUlawDec:0x7fb5a34933c0,0-->MSGenericPLC:0x7fb5aa91b040,0
message: ms_filter_unlink: MSGenericPLC:0x7fb5aa91b040,0-->MSDtmfGen:0x7fb5a6585f00,0
message: ms_filter_unlink: MSDtmfGen:0x7fb5a6585f00,0-->MSVolume:0x7fb5aa917790,0
message: ms_filter_unlink: MSVolume:0x7fb5aa917790,0-->MSTee:0x7fb5aa914fc0,0
message: ms_filter_unlink: MSTee:0x7fb5aa914fc0,0-->MSEqualizer:0x7fb5a3498f50,0
message: ms_filter_unlink: MSEqualizer:0x7fb5a3498f50,0-->MSSpeexEC:0x7fb5a34f6d20,0
message: ms_filter_unlink: MSSpeexEC:0x7fb5a34f6d20,0-->MSResample:0x7fb5aa9178b0,0
message: ms_filter_unlink: MSResample:0x7fb5aa9178b0,0-->MSAuWrite:0x7fb5a3499380,0
message: ms_filter_unlink: MSTee:0x7fb5a3498e40,1-->MSAudioMixer:0x7fb5aa914df0,0
message: ms_filter_unlink: MSTee:0x7fb5aa914fc0,1-->MSAudioMixer:0x7fb5aa914df0,1
message: ms_filter_unlink: MSAudioMixer:0x7fb5aa914df0,0-->MSFileRec:0x7fb5aa911020,0
message: Audio MSTicker thread exiting
message: ===========================================================
message: FILTER USAGE STATISTICS
message: Name Count Time/tick (ms) CPU Usage
message: -----------------------------------------------------------
message: MSX264Enc 321 138.147 97.1677
message: MSResample 8076 0.0550274 0.97085
message: MSSpeexEC 4302 0.0873765 0.821276
message: MSH264Dec 291 0.880267 0.561463
message: MSRtpSend 6174 0.012353 0.166623
message: MSRtpRecv 6174 0.0115132 0.155295
message: MSOSXGLDisplay 375 0.0376117 0.0308912
message: MSAudioMixer 4695 0.00249638 0.0256072
message: MSV4m 1480 0.00740446 0.0239537
message: MSUlawEnc 4038 0.0019542 0.0172411
message: MSTee 6540 0.000698976 0.00998688
message: MSAuRead 4695 0.00095017 0.0097466
message: MSUlawDec 1890 0.00205553 0.00849059
message: MSVolume 5928 0.000633159 0.00820007
message: MSFileRec 4695 0.000722743 0.00741371
message: MSDtmfGen 4695 0.0005 0.00512887
message: MSGenericPLC 4695 0.000429514 0.00440585
message: MSAuWrite 4038 0.000364199 0.00321319
message: MSEqualizer 1890 0.000250661 0.00103538
message: MSSizeConv 322 0.00104334 0.000736128
message: MSJpegWriter 290 0.000694158 0.00044124
message: MSPixConv 322 0.000405573 0.000286151
message: MSFilePlayer 0 0 0
message: MSVoidSink 0 0 0
message: ===========================================================
warning: Video MSTicker: We are late of 32256 miliseconds.
message: v4m video device closed.
message: Filter MSRtpRecv is not scheduled; nothing to do.
message: ===========================================================
message: VIDEO SESSION'S RTP STATISTICS
message: -----------------------------------------------------------
message: sent 1311 packets
message: 1517528 bytes
message: received 1783 packets
message: 1049010 bytes
message: incoming delivered to the app 986868 bytes
message: lost 0 packets
message: received too late 0 packets
message: bad formatted 0 packets
message: discarded (queue overflow) 0 packets
message: ===========================================================In addition the application shows me delay status, from logs :
message:: Dialog [0x7fb5a7634940]: now updated by transaction [0x7fb5aa9685d0].
warning: Video MSTicker: We are late of 20415 miliseconds.
warning: Video MSTicker: We are late of 20564 miliseconds.
message:: A SPS is being sent.
message:: A PPS is being sent.
warning: Video MSTicker: We are late of 20609 miliseconds.
warning: Video MSTicker: We are late of 20636 miliseconds.
warning: Video MSTicker: We are late of 20694 miliseconds.
warning: Video MSTicker: We are late of 20784 miliseconds.
warning: Video MSTicker: We are late of 20894 miliseconds.
warning: Video MSTicker: We are late of 21016 miliseconds.
warning: echo canceller: we are accumulating too much reference signal, need to throw out 1216 samples
message:: audio_stream_iterate(): local statistics available
Local's current jitter buffer size:77.440002 ms
message:: bandwidth usage: audio=[d=80.1,u=80.1] video=[d=305.3,u=441.8] kbit/sec
message:: Thread processing load: audio=2.135499 video=1268.186768
warning: Video MSTicker: We are late of 21134 miliseconds.
warning: Video MSTicker: We are late of 21256 miliseconds.
warning: Video MSTicker: We are late of 21382 miliseconds.
warning: Video MSTicker: We are late of 21506 miliseconds.
warning: Video MSTicker: We are late of 21638 miliseconds.
warning: Video MSTicker: We are late of 21781 miliseconds.
warning: Video MSTicker: We are late of 21921 miliseconds.
message:: bandwidth usage: audio=[d=81.6,u=80.0] video=[d=271.9,u=185.5] kbit/sec
message:: Thread processing load: audio=1.971647 video=1342.125000
warning: Video MSTicker: We are late of 22068 miliseconds.
message:: audio_stream_iterate(): remote statistics available
remote's interarrival jitter=68
remote's lost packets percentage since last report=0.390625
round trip time=0.258850 seconds
warning: Video MSTicker: We are late of 22216 miliseconds.Please, help me to find the problem.
Thanks,
this is a msx264 git repository :
git clone git://git.linphone.org/msx264.git