
Recherche avancée
Médias (91)
-
Les Miserables
9 décembre 2019, par
Mis à jour : Décembre 2019
Langue : français
Type : Textuel
-
VideoHandle
8 novembre 2019, par
Mis à jour : Novembre 2019
Langue : français
Type : Video
-
Somos millones 1
21 juillet 2014, par
Mis à jour : Juin 2015
Langue : français
Type : Video
-
Un test - mauritanie
3 avril 2014, par
Mis à jour : Avril 2014
Langue : français
Type : Textuel
-
Pourquoi Obama lit il mes mails ?
4 février 2014, par
Mis à jour : Février 2014
Langue : français
-
IMG 0222
6 octobre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Image
Autres articles (22)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
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" (...) -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...)
Sur d’autres sites (4863)
-
iPhone - A problem with decoding H264 using ffmpeg
25 mars 2012, par HAPPY_TIGERI am working with ffmpeg to decode H264 stream from server.
I referenced DecoderWrapper from http://github.com/dropcam/dropcam_for_iphone.
I compiled it successfully, but I don't know how use it.
Here are the function that has problem.
- (id)initWithCodec:(enum VideoCodecType)codecType
colorSpace:(enum VideoColorSpace)colorSpace
width:(int)width
height:(int)height
privateData:(NSData*)privateData {
if(self = [super init]) {
codec = avcodec_find_decoder(CODEC_ID_H264);
codecCtx = avcodec_alloc_context();
// Note: for H.264 RTSP streams, the width and height are usually not specified (width and height are 0).
// These fields will become filled in once the first frame is decoded and the SPS is processed.
codecCtx->width = width;
codecCtx->height = height;
codecCtx->extradata = av_malloc([privateData length]);
codecCtx->extradata_size = [privateData length];
[privateData getBytes:codecCtx->extradata length:codecCtx->extradata_size];
codecCtx->pix_fmt = PIX_FMT_YUV420P;
#ifdef SHOW_DEBUG_MV
codecCtx->debug_mv = 0xFF;
#endif
srcFrame = avcodec_alloc_frame();
dstFrame = avcodec_alloc_frame();
int res = avcodec_open(codecCtx, codec);
if (res < 0)
{
NSLog(@"Failed to initialize decoder");
}
}
return self;
}What is the privateData parameter of this function ? I don't know how to set the parameter...
Now avcodec_decode_video2 returns -1 ;
The framedata is coming successfully.
How solve this problem.
Thanks a lot.
-
ffmpeg got black and white video when encoding flv
17 décembre 2012, par samyoui searched the site and got a post :
getting black and white image after encoding
but i got no answer.don't know how but it is all black and white.
hear is the init code :
JNIEXPORT jboolean JNICALL Java_sam_flvmuxer_SamRTMPNative_nativeInitMuxerAndStart(
JNIEnv *env, jclass jcls, jstring outfile, jint inwidth, jint inheight,
jint fps) {
audioOutBuffer = malloc(AUDIO_OUT_BUFFER_SIZE);
videoOutBuffer = malloc(VIDEO_OUT_BUFFER_SIZE);
VIDEO_WIDTH = inwidth;
VIDEO_HEIGHT = inheight;
av_log_set_callback(samffmpeglogback);
av_register_all();
char *filepath = (*env)->GetStringUTFChars(env, outfile, 0);
JNILOG("file path is %s",filepath);
avformat_alloc_output_context2(&avFormatContext, NULL, NULL, filepath);
if (!avFormatContext) {
JNILOG("avformat_alloc_output_context2 with filepath failed");
return JNI_FALSE;
}
AVOutputFormat *fmt = avFormatContext->oformat;
//fmt->video_codec = VIDEO_CODEC_ID;
////init video
avVideoStream = avformat_new_stream(avFormatContext, NULL );
if (!avVideoStream) {
(*env)->ReleaseStringUTFChars(env, outfile, filepath);
return 0;
}
AVCodec *videocodec = avcodec_find_encoder(VIDEO_CODEC_ID);
if (!videocodec) {
JNILOG("avcodec_find_encoder error");
return JNI_FALSE;
}
avcodec_get_context_defaults3(avVideoStream->codec, videocodec);
AVCodecContext *avVideoCodecContext = avVideoStream->codec;
avVideoCodecContext->codec_type = AVMEDIA_TYPE_VIDEO;
avVideoCodecContext->codec_id = VIDEO_CODEC_ID;
avVideoCodecContext->width = inwidth;
avVideoCodecContext->height = inheight;
avVideoCodecContext->time_base.den = fps;
avVideoCodecContext->time_base.num = 1;
avVideoCodecContext->gop_size = 10;
avVideoCodecContext->pix_fmt = PIX_FMT_YUV420P;
JNILOG("bitrate befort set = %d",avVideoCodecContext->bit_rate);
avVideoCodecContext->bit_rate = 600000;
if (fmt->flags & AVFMT_GLOBALHEADER)
avVideoCodecContext->flags |= CODEC_FLAG_GLOBAL_HEADER;
av_dump_format(avFormatContext,0,filepath,1);
if(avcodec_open2(avVideoCodecContext,videocodec,NULL)<0)
{
JNILOG("video avcodec_open2 failed");
(*env)->ReleaseStringUTFChars(env, outfile, filepath);
return JNI_FALSE;
}
///////
/* open the output file, if needed */
if (!(fmt->flags & AVFMT_NOFILE)) {
if ((avio_open(&avFormatContext->pb, filepath, AVIO_FLAG_WRITE)) < 0) {
JNILOG("Could not open file!");
(*env)->ReleaseStringUTFChars(env, outfile, filepath);
return 0;
}
}
if (avformat_write_header(avFormatContext, NULL ) < 0) {
JNILOG("Could not avformat_write_header!");
(*env)->ReleaseStringUTFChars(env, outfile, filepath);
return 0;
}
(*env)->ReleaseStringUTFChars(env, outfile, filepath);
YUVFrame = avcodec_alloc_frame();
JNILOG("ffmpeg every thing inited");
return JNI_TRUE;
}and encode code looks like below :
avpicture_fill((AVPicture *)YUVFrame,framedata,PIX_FMT_YUV420P,VIDEO_WIDTH,VIDEO_HEIGHT);
///打印data 分量!!!!
AVPacket pkt;
av_init_packet(&pkt);
pkt.data = videoOutBuffer;
pkt.size = VIDEO_OUT_BUFFER_SIZE;
int gotpkt = 0;
avcodec_encode_video2(avVideoStream->codec,&pkt,YUVFrame,&gotpkt);
if (gotpkt > 0) {
JNILOG("encoded size=%d,gotpktflag=%d",pkt.size,gotpkt);
pkt.stream_index = avVideoStream->index;
pkt.flags |= AV_PKT_FLAG_KEY;
pkt.pts = timestamp;
while (pkt.pts <= lastVideoPts) {
pkt.pts++;
}
lastVideoPts = pkt.pts;
if (av_interleaved_write_frame(avFormatContext, &pkt) < 0) {
JNILOG("av_interleaved_write_frame failed");
}
}someone please help me with this problem^^
-
How to Replace Duplicate Frames in a Video with Black Frames using ffmpeg ?
21 mars 2021, par Yam ShargilI'm trying to trim all "no action, no movement" frames out of my screen recording. Some of my screen recordings are really long (like 100 hours long).


I found this :
How to Simply Remove Duplicate Frames from a Video using ffmpeg


ffmpeg -i in.mp4 -vf
"select='if(gt(scene,0.01),st(1,t),lte(t-ld(1),1))',setpts=N/FRAME_RATE/TB"
trimmed.mp4



I don't want to lose any important frames, so for testing the threshold purposes, I want to replace (not remove) all the "no action" frames with black frames.


That's my best shot so far, not my proudest work :


ffmpeg -i in.mp4 -vf "select='if(gt(scene,0.01),st(1,t),lte(t-ld(1),1))',drawbox=color=black:t=fill" out.mp4