
Recherche avancée
Autres articles (73)
-
Demande de création d’un canal
12 mars 2010, parEn fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...) -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation" -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)
Sur d’autres sites (13506)
-
Sync video only streaming using pts
26 février 2014, par user2846108I am using ffmpeg for streaming video alone (no audio) and SDL 2.0 for display. So far, I have decoded the packets as soon as they arrive and present it to the renderer. But I would like to display the video frames by syncing with PTS value so that the receiver does not go out of sync with the sender (Since I am streaming real time video over RTSP). I have read dranger tutorial but I cannot understand it. My pseudo code looks like this :
//Create SDL window
SDL_Window * window = SDL_CreateWindow("SDL",
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, w, h, 0);
//Create renderer for the window
SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);
//Allocate frame
frame = avcodec_alloc_frame();
//Read frame
while (av_read_frame(format_context, &avpacket) >= 0) {
if (avpacket.stream_index == videostream) {
//Decode the frame
avcodec_decode_video2(codec_context, frame, &frame_finished,
&avpacket);
if (frame_finished) {
//update the YUV texture with the decoded frame (SDL_UpdateYUVTexture)
//Copy the texture to the renderer (SDL_RendererCopy)
//Present the rederer (SDL_RenderPresent)
}
//Handle SDL event
SDL_PollEvent(&event)
}Can one help me how and where I can use PTS in the above code (a pseudo code is much better) and implement the synchronization between sender and receiver (such that if more packets are accumulated in the buffer, I should drop some packets so that latency between sender and receiver does not grow up as the time goes) ?
Thanks in advance.
-
Recalculate cropdetect parameters from initial values
26 août 2020, par steviem1986I have a video that is 1920x1080, and cropdetect works great for this static size. My problem is that I am developing for the web, and I want to be able to re-calculate the best crop parameters when the window/video is resized.


Cropping the video, and running cropdetect each time the window is resized seems like overkill. Is there a way to do it from the initial cropdetect values and the resized video width+height ?


-
change output order of FFprobe
28 avril 2023, par summerrainHow can I change the output order of FFprobe ?


ffprobe -hide_banner -show_streams -show_format space.mkv -of json=c=0 -o output.json
creates a json output file with thestreams
sections first and theformat
section last.

I need the reverse order (
format
section first,streams
section last).

But reordering the parameters (i.e.
-show_format -show_streams
) has no effect unfortunately.

This is the output of the command above :


{
 "streams": [
 {
 "index": 0,
 "codec_name": "h264",
 "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
 "profile": "Main",
 "codec_type": "video",
 "codec_tag_string": "[0][0][0][0]",
 "codec_tag": "0x0000",
 "width": 256,
 "height": 144,
 "coded_width": 256,
 "coded_height": 144,
 "closed_captions": 0,
 "film_grain": 0,
 "has_b_frames": 1,
 "sample_aspect_ratio": "1:1",
 "display_aspect_ratio": "16:9",
 "pix_fmt": "yuv420p",
 "level": 11,
 "color_range": "tv",
 "color_space": "bt709",
 "color_transfer": "bt709",
 "color_primaries": "bt709",
 "chroma_location": "left",
 "field_order": "progressive",
 "refs": 1,
 "is_avc": "true",
 "nal_length_size": "4",
 "r_frame_rate": "3737/250",
 "avg_frame_rate": "3737/250",
 "time_base": "1/1000",
 "start_pts": 0,
 "start_time": "0.000000",
 "bits_per_raw_sample": "8",
 "extradata_size": 41,
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0,
 "captions": 0,
 "descriptions": 0,
 "metadata": 0,
 "dependent": 0,
 "still_image": 0
 },
 "tags": {
 "HANDLER_NAME": "ISO Media file produced by Google Inc.",
 "VENDOR_ID": "[0][0][0][0]",
 "DURATION": "00:10:53.276000000"
 }
 },
 {
 "index": 1,
 "codec_name": "aac",
 "codec_long_name": "AAC (Advanced Audio Coding)",
 "profile": "HE-AAC",
 "codec_type": "audio",
 "codec_tag_string": "[0][0][0][0]",
 "codec_tag": "0x0000",
 "sample_fmt": "fltp",
 "sample_rate": "44100",
 "channels": 2,
 "channel_layout": "stereo",
 "bits_per_sample": 0,
 "initial_padding": 0,
 "r_frame_rate": "0/0",
 "avg_frame_rate": "0/0",
 "time_base": "1/1000",
 "start_pts": 0,
 "start_time": "0.000000",
 "extradata_size": 25,
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0,
 "captions": 0,
 "descriptions": 0,
 "metadata": 0,
 "dependent": 0,
 "still_image": 0
 },
 "tags": {
 "HANDLER_NAME": "ISO Media file produced by Google Inc.",
 "VENDOR_ID": "[0][0][0][0]",
 "DURATION": "00:10:53.409000000"
 }
 }
 ],
 "format": {
 "filename": "space.mkv",
 "nb_streams": 2,
 "nb_programs": 0,
 "format_name": "matroska,webm",
 "format_long_name": "Matroska / WebM",
 "start_time": "0.000000",
 "duration": "653.409000",
 "size": "5252652",
 "bit_rate": "64310",
 "probe_score": 100,
 "tags": {
 "title": "SpaceX Starship explodes on first launch attempt",
 "COMMENT": "https://www.youtube.com/watch?v=gk1BViilFFk",
 "COMPATIBLE_BRANDS": "iso6avc1mp41",
 "MAJOR_BRAND": "dash",
 "MINOR_VERSION": "0",
 "ARTIST": "CNN",
 "DATE": "20230420",
 "DESCRIPTION": "SpaceX’s Starship, the most powerful rocket ever built, took off from a launch pad on the coast of South Texas, but exploded midair before stage separation. #CNN #News",
 "SYNOPSIS": "SpaceX’s Starship, the most powerful rocket ever built, took off from a launch pad on the coast of South Texas, but exploded midair before stage separation. #CNN #News",
 "PURL": "https://www.youtube.com/watch?v=gk1BViilFFk",
 "ENCODER": "Lavf60.4.101"
 }
 }
}