
Recherche avancée
Médias (3)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
-
Creativecommons informational flyer
16 mai 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (51)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)
Sur d’autres sites (6720)
-
vf_colorspace : Allow overriding input color properties
3 septembre 2016, par Vittorio Giovaravf_colorspace : Allow overriding input color properties
The filter needs input frames with color properties filled out by
the decoder. Since this is not always possible, add input options to
the filter so that user may override color space, color primaries,
transfer characteristics, and color range, as well as a generic option
to set all properties at once.Signed-off-by : Vittorio Giovara <vittorio.giovara@gmail.com>
-
Colors are not correct for FFMPEG videos
23 août 2016, par Mohammad Abu MusaI am writing a screen recorder, I managed to record the videos and export them as
webm
but I have a color and timing issue(which I am working on).For coloring the video frames I get are formatted with
FORMAT_I420
which I transfer them to YUV sources and encode them as the following codevoid EncoderInstance::OnGetFrame(int32_t result, pp::VideoFrame frame) {
if (result != PP_OK)
return;
//const uint8_t* data = static_cast<const>(frame.GetDataBuffer());
unsigned char* data = static_cast<unsigned>(frame.GetDataBuffer());
pp::Size size;
frame.GetSize(&size);
uint32_t buffersize = frame.GetDataBufferSize();
//frame.GetFormat() == PP_VIDEOFRAME_FORMAT_BGRA);
//Logger::Log("Format is :%d", frame.GetFormat());
//PP_VIDEOFRAME_FORMAT_I420
Logger::Log("stream received is: %02X", data);
if (is_recording_) {
vpx_codec_iter_t iter = NULL;
const vpx_codec_cx_pkt_t *pkt;
int iSizeY = out_width * out_height;
int iSizeUV = (out_width * out_height)/4;
unsigned char* pY = data;
unsigned char* pU = data + iSizeY; // there are width * height Y components
unsigned char* pV = data + iSizeUV; // skip the U components
Logger::Log("pY: %02X", pY);
Logger::Log("pU: %02X", pU);
Logger::Log("pV: %02X", pV);
// copy the pixels into our "raw input" container.
int bytes_filled = avpicture_fill(&pic_raw, NULL, AV_PIX_FMT_YUV420P, out_width, out_height);
pic_raw.data[0] = pY;
pic_raw.data[1] = pU;
pic_raw.data[2] = pU;
Logger::Log("bytes filled: %d", bytes_filled);
if(!bytes_filled) {
Logger::Log("Cannot fill the raw input buffer");
return;
}
// convert to i420 for vp8
int h = sws_scale(sws, pic_raw.data, pic_raw.linesize, 0, out_height, raw.planes, raw.stride);
if(h != out_height) {
Logger::Log("scale failed: %d", h);
return;
}
Logger::Log("Picture Raw data is: %d", pic_raw.data);
if(vpx_codec_encode(&codec, &raw, frame_cnt, 1, flags, VPX_DL_REALTIME))
die_codec(&codec, "Failed to encode frame");
while( (pkt = vpx_codec_get_cx_data(&codec, &iter)) ) {
switch(pkt->kind) {
case VPX_CODEC_CX_FRAME_PKT:
Logger::Log("Compressed buffer is %02X:",pkt->data.frame.buf);
Logger::Log("Compressed buffer size %02X:",pkt->data.frame.sz);
glb_app_thread.message_loop().PostWork(callback_factory_.NewCallback(&EncoderInstance::write_ivf_frame_header, pkt));
glb_app_thread.message_loop().PostWork(callback_factory_.NewCallback(&EncoderInstance::WriteFile, pkt));
break;
default:break;
}
}
frame_cnt++;
}
video_track_.RecycleFrame(frame);
if (need_config_) {
ConfigureTrack();
need_config_ = false;
} else {
video_track_.GetFrame(
callback_factory_.NewCallbackWithOutput(
&EncoderInstance::OnGetFrame));
}
}
</unsigned></const>Here is a screenshot of an image I got from the video generated
-
configure : update copyright year
1er janvier, par Lynne