
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 (34)
-
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...) -
Possibilité de déploiement en ferme
12 avril 2011, parMediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...) -
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.
Sur d’autres sites (5876)
-
a problem with ffmpeg using pulse mode to open audio device blocking [closed]
21 juin 2024, par ZhangKunon linux x86 system, command line terminal,
music on,
"ffmpeg -f pulse -i xxxx(audio dev name,is a loudspeaker) /tmp/xxxx.wav" run perfect ,
"aplay -i /tmp/xxxx.wav" can play Captured speaker sound,


but,
in cpp code,


{
 ...
 AVInputFormat * fmt = av_find_input_format("pluse");
 if(!fmt)
 return -1;
 
 AVFormatContext *ctx = avformat_alloc_context();
 if(!ctx)
 return -1;

 int ret = avformat_open_input(&ctx,"xxxx dev name",fmt,NULL); //block.......

 ...
}



why ternimal not,code blocking,Does anyone know ?


-
Remove terminal opened by ffmpeg-python
28 février 2021, par Omid KiI have this program that combines audio and video together and for that I use ffmpeg and ffmpeg-python. The program works really well but when I try to make an exe version, naturally, it pops up a terminal and shows the ffmpeg functioning. I saved the file as .pyw instead of .py so that no window will pop up but it still happens. I also saw another post on how to make the terminal disappear in subprocess but I am using ffmpeg-python and cannot control how subprocess is used unless I modify the source which I do not intend to. Is there anyway to make the terminal window disappear without modifying the source ?


-
Is it possible to establish youtube live stream with ffmgep from Android if video encoded on another device
20 mai 2015, par Nick KlebanI have "Android Device" and some other "Device with camera". This device captures video, encodes it (h264) and sends it to my phone through UDP. On phone i’m receiving only AVFrame’s and it enough to decode and show this video on phone screen. But i can’t establish working video stream to youtube.
The problem is that all examples does encoding and streaming on one device, so they have properly initialized AVStream and AVPaket. I have feeling that i’m missing something but i cant find what. I’ve passed all stages of creating broadcast, stream, initialization of AVFormatContext, and av_interleaved_write_frame returns 0. Seems like all ok.
But on youtube i see short living indication of video stream quality, then it dissapears, and all the time there is no video.So the question is is it possible to establish video stream to Youtube live if you have only AVFrames that encoded on some other device, and you missing some context information ? If so - what i’m missing ?
static AVFormatContext *fmt_context = NULL;
static AVStream *video_stream;
eLIVESTREAM_ERROR LIVESTREAM_Manager_Start(char* url) {
eLIVESTREAM_ERROR error = LIVESTREAM_ERROR;
av_register_all();
avcodec_register_all();
fmt_context = avformat_alloc_context();
AVOutputFormat *ofmt = NULL;
if (fmt_context != NULL) {
ofmt = av_guess_format("flv", NULL, NULL);
if (ofmt != NULL) {
fmt_context->oformat = ofmt;
video_stream = av_new_stream(fmt_context, 0);
AVCodec *video_codec = avcodec_find_decoder(AV_CODEC_ID_H264);
AVCodecContext *video_codec_ctx = video_stream->codec;
video_codec_ctx->pix_fmt = PIX_FMT_YUV420P;
video_codec_ctx->skip_frame = AVDISCARD_DEFAULT;
video_codec_ctx->error_concealment = FF_EC_GUESS_MVS | FF_EC_DEBLOCK;
video_codec_ctx->skip_loop_filter = AVDISCARD_DEFAULT;
video_codec_ctx->workaround_bugs = FF_BUG_AUTODETECT;
video_codec_ctx->codec_type = AVMEDIA_TYPE_VIDEO;
video_codec_ctx->codec_id = AV_CODEC_ID_H264;
video_codec_ctx->skip_idct = AVDISCARD_DEFAULT;
video_codec_ctx->time_base.num = 1;
video_codec_ctx->time_base.den = 30;
video_codec_ctx->width = 640;
video_codec_ctx->height = 386;
if(fmt_context->oformat->flags & AVFMT_GLOBALHEADER)
video_codec_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
int codec_open_rslt = avcodec_open2(video_codec_ctx, video_codec, NULL);
if (codec_open_rslt < 0) {
error = LIVESTREAM_ERROR;
}
if (!(ofmt->flags & AVFMT_NOFILE)) {
int open_rslt = avio_open(&fmt_context->pb, url, URL_WRONLY);
if (open_rslt == 0) {
int wrt_header_rslt = avformat_write_header(fmt_context, NULL);
if (wrt_header_rslt == 0) {
error = LIVESTREAM_OK;
} else {
avio_close(fmt_context->pb);
}
}
}
}
}
if (error != LIVESTREAM_OK) {
if (ofmt != NULL) {
av_free(ofmt);
}
if (fmt_context != NULL) {
av_free(fmt_context);
}
}
return error;
}
eLIVESTREAM_ERROR LIVESTREAM_Manager_Send (uint8_t *data , int size) {
eLIVESTREAM_ERROR error = LIVESTREAM_OK;
if (fmt_context == NULL || size <= 0 || data == NULL) {
error = LIVESTREAM_ERROR;
}
if (error == LIVESTREAM_OK) {
AVPacket pkt;
av_init_packet(&pkt);
pkt.stream_index = video_stream->index;
pkt.data = data;
pkt.size = size;
pkt.pts = AV_NOPTS_VALUE;
pkt.dts = AV_NOPTS_VALUE;
pkt.duration = 0;
pkt.pos = -1;
int write_rslt = av_interleaved_write_frame(fmt_context, &pkt);
if (write_rslt != 0) {
error = LIVESTREAM_ERROR;
}
}
return error;
}
void LIVESTREAM_Manager_Finish () {
av_write_trailer(fmt_context);
avio_close(fmt_context->pb);
av_free(fmt_context);
fmt_context = NULL;
}