
Recherche avancée
Autres articles (87)
-
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
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 (...) -
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)
Sur d’autres sites (4212)
-
FFMPEG API : How to clear real-time buffer ?
29 novembre 2018, par user67Here’s the c++ code that I’m using to access my webcam.
int Camera::Init(char* file_name,
char* device_name,
char* format,
char* resolution,
char* frame_rate,
char* pixel_format)
{
av_log(NULL, AV_LOG_INFO, "---INIT STARTED\n");
avdevice_register_all();
av_register_all();
AVDictionary* properties_collection = NULL;
av_dict_set(&properties_collection, "f", format, NULL);
av_dict_set(&properties_collection, "video_size", resolution, NULL);
av_dict_set(&properties_collection, "framerate", frame_rate, NULL);
av_dict_set(&properties_collection, "pix_fmt", pixel_format, NULL);
AVInputFormat *input_format = av_find_input_format("dshow");
char command_line[256];
sprintf(command_line, "video=%s", device_name);
AVFormatContext *input_context = avformat_alloc_context();
//input_context->flags |= AVFMT_FLAG_NOBUFFER; //DOESN'T HELP
//input_context->max_picture_buffer = 0; //ERR
int err_code = 0;
err_code = avformat_open_input(&input_context,
command_line,
input_format,
&properties_collection);
int i = 0;
while (i++ < 30)
{
Sleep(1000);
//avformat_flush(input_context); //DOESN'T HELP
//av_free(input_context); //ERR
}
system("pause");
return 0;
}Right after "avformat_open_input()" it starts reading frames to some internal buffer without me even calling "av_read_frame()".
After about 10 seconds it start’s giving me error messages :[dshow @ 0014ed40] real-time buffer [VirtualBox Webcam - FULL HD 1080P Webcam] [video input]
too full or near too full (62% of size: 3041280 [rtbufsize parameter])!
frame dropped!
...
...
...
[dshow @ 0014ed40] real-time buffer [VirtualBox Webcam - FULL HD 1080P Webcam] [video input]
too full or near too full (100% of size: 3041280 [rtbufsize parameter])!
frame dropped!How to clear this buffer or avoid using it ?
Thanks in advance.
P.S.Please pardon my english.
P.P.S.Have a good day.
-
libav : How to clear real-time buffer ?
29 novembre 2018, par user67Here’s the c++ code that I’m using to access my webcam.
int Camera::Init(char* file_name,
char* device_name,
char* format,
char* resolution,
char* frame_rate,
char* pixel_format)
{
av_log(NULL, AV_LOG_INFO, "---INIT STARTED\n");
avdevice_register_all();
av_register_all();
AVDictionary* properties_collection = NULL;
av_dict_set(&properties_collection, "f", format, NULL);
av_dict_set(&properties_collection, "video_size", resolution, NULL);
av_dict_set(&properties_collection, "framerate", frame_rate, NULL);
av_dict_set(&properties_collection, "pix_fmt", pixel_format, NULL);
AVInputFormat *input_format = av_find_input_format("dshow");
char command_line[256];
sprintf(command_line, "video=%s", device_name);
AVFormatContext *input_context = avformat_alloc_context();
//input_context->flags |= AVFMT_FLAG_NOBUFFER; //DOESN'T HELP
//input_context->max_picture_buffer = 0; //ERR
int err_code = 0;
err_code = avformat_open_input(&input_context,
command_line,
input_format,
&properties_collection);
int i = 0;
while (i++ < 30)
{
Sleep(1000);
//avformat_flush(input_context); //DOESN'T HELP
//av_free(input_context); //ERR
}
system("pause");
return 0;
}Right after "avformat_open_input()" it starts reading frames to some internal buffer without me even calling "av_read_frame()".
After about 10 seconds it start’s giving me error messages :[dshow @ 0014ed40] real-time buffer [VirtualBox Webcam - FULL HD 1080P Webcam] [video input]
too full or near too full (62% of size: 3041280 [rtbufsize parameter])!
frame dropped!
...
...
...
[dshow @ 0014ed40] real-time buffer [VirtualBox Webcam - FULL HD 1080P Webcam] [video input]
too full or near too full (100% of size: 3041280 [rtbufsize parameter])!
frame dropped!How to clear this buffer or avoid using it ?
Thanks in advance.
P.S.Please pardon my english.
P.P.S.Have a good day.
-
Transcoding HD RTP/UDP stream with FFMPEG
19 juin 2017, par SudoSuI’ve a Tera STI440 streamer with two inputs used (for TV channel streaming). When I watch the source stream it seems allright, but when I start FFMPEG transcoding, the image is going to collapse on random times (probably around every 5-15 sec). The transcoding is okay with SD 480P streams.
FFPROBE one of my HD stream :
`Input #0, rtp, from 'rtp://239.192.24.3:1234/':
Duration: N/A, start: 18002.926656, bitrate: N/A
Program 202
Metadata:
service_name : M5 HD
service_provider: Magyar Televizio
Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:0(hun): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 enter code herekb/sFFPROBE one of my SD stream (Which is working properly) :
Input #0, rtp, from 'rtp://239.192.24.4:1234/':
Duration: N/A, start: 51003.435044, bitrate: N/A
Program 203
Metadata:
service_name : RTL Klub
service_provider: Magyar RTL Telev�zi� Zrt.
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 720x576 [SAR 12:11 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1(hun): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltpI want to do a HLS stream so I ran this script for FFMPEG :
/usr/bin/ffmpeg -loglevel 16 -i rtp://239.192.24.3:1234/ -s pal -c:v libx264 -c:a libmp3lame -b:v 1000k -b:a 96k -ar 44100 -vf 'yadif=0:-1:1' -preset:v superfast -f hls -hls_time 7 -hls_list_size 10 -hls_wrap 10 -hls_base_url http://10.3.1.3:8080/ts/ -hls_segment_filename /tvman/hls_out/ts/M5_hq_%03d /tvman/hls_out/subplaylist/M5-hq.m3u8
I access the playlist file from NGINX but also tried Apache too.
Here’s some log from FFMPEG process (loglevel 16)I made some diagnostics :
- Looked for network traffic (it’s around 60 mbps, so it should be okay with a 100mbps ethernet
- CPU & RAM load allright
- I reduced the network traffic by turning off TV channel streams on streamer. It was around 6-7 mbps.
If you need any more information, I’ll provide it for you.
Thanks for the help !P.S. : I’m not native English speaker, so sorry for mistakes. :)