
Recherche avancée
Médias (91)
-
Head down (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Echoplex (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Discipline (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Letting you (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
1 000 000 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
999 999 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (89)
-
Soumettre bugs et patchs
10 avril 2011Un logiciel n’est malheureusement jamais parfait...
Si vous pensez avoir mis la main sur un bug, reportez le dans notre système de tickets en prenant bien soin de nous remonter certaines informations pertinentes : le type de navigateur et sa version exacte avec lequel vous avez l’anomalie ; une explication la plus précise possible du problème rencontré ; si possibles les étapes pour reproduire le problème ; un lien vers le site / la page en question ;
Si vous pensez avoir résolu vous même le bug (...) -
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community. -
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...)
Sur d’autres sites (13372)
-
How to get native frame rate of vide with FFmpex ?
18 juin 2021, par Flame_PhoenixBackground


I have an
.mp4
video and I need to get the video's frame rate. Using ffmepg (in Linux) I know I can get this information via the following command :

ffprobe -v 0 -of compact=p=0 -select_streams 0 -show_entries stream=r_frame_rate 'MyVideoFIle.mp4'



Which returns :


r_frame_rate=24000/1001



FFmpex


Doing this in bash is fine, but what I really want is to use it in my Elixir application. To this end I found out about
ffmpex
.

First I tried using
FFprobe
:

> FFprobe.format("Devil May Cry 5 Bury the Light LITTLE V COVER.mp4")

{:ok,
 %{
 "bit_rate" => "611784",
 "duration" => "482.999000",
 "filename" => "Devil May Cry 5 Bury the Light LITTLE V COVER.mp4",
 "format_long_name" => "QuickTime / MOV",
 "format_name" => "mov,mp4,m4a,3gp,3g2,mj2",
 "nb_programs" => 0,
 "nb_streams" => 2,
 "probe_score" => 100, 
 "size" => "36936415",
 "start_time" => "0.000000",
 "tags" => %{
 "compatible_brands" => "isomiso2avc1mp41",
 "encoder" => "Lavf58.19.102",
 "major_brand" => "isom",
 "minor_version" => "512"
 }
 }}



Which gives me some information, but not the frame rate.


My next tentative was to use the command options :


command = 
 FFmpex.new_command() 
 |> add_input_file("Devil May Cry 5 Bury the Light LITTLE V COVER.mp4") 
 |> add_video_option(???) 



But the problem here is that I can't find in the documentation the video option I need to get the native frame rate. I only found
vframe
which is used to set the video frame rate.

Question


- 

- How can I get the native fps of a video using
ffmpex
?




- How can I get the native fps of a video using
-
Remove some redundant NULL checks and fix a free on error return.
3 mars 2012, par Tim TerriberryRemove some redundant NULL checks and fix a free on error return.
ref_frame_data was being allocated with the aligned allocator, but
freed with the normal _ogg_free() function on failure, which
doesn’t work.
This would only cause a problem if there was just enough memory to
satisfy the reference frame allocation (just over 4.5 or 9 bytes
per pixel) but not enough for the fragment buffer offets (1/16 or
1/8th byte per pixel).git-svn-id : http://svn.xiph.org/trunk/theora@18219 0101bb08-14d6-0310-b084-bc0e0c8e3800
-
Exception thrown at 0x00007FFC0B57BCEF (swscale-6.dll) in App.exe : 0xC0000005 : Access violation reading location 0xFFFFFFFFFFFFFFFF
9 novembre 2023, par JIUN-YUTrying to play a video using FFmpeg on visual studio 2022 on windows 10.
Exception is thrown at sws_scale in the code. Don't know why this is occurred.
It is worth noting that this error sometimes occurs when reading the camera and sometimes it does not.


here is my code


bool CalibrationPanel::video_reader_read_frame(VReaderState* state, cv::Mat cvimg)
{
 // Unpack members of state
 auto& width = state->width;
 auto& height = state->height;
 auto& av_format_ctx = state->av_format_ctx;
 auto& av_codec_ctx = state->av_codec_ctx;
 auto& video_stream_index = state->video_stream_index;
 auto& av_frame = state->av_frame;
 auto& av_packet = state->av_packet;
 auto& sws_scaler_ctx = state->sws_scaler_ctx;


 // Decode one frame
 int response;
 while (av_read_frame(av_format_ctx, av_packet) >= 0)
 {
 if (av_packet->stream_index != video_stream_index)
 {
 av_packet_unref(av_packet);
 continue;
 }

 response = avcodec_send_packet(av_codec_ctx, av_packet);
 if (response < 0)
 {
 char errStr[256] = {0};
 av_strerror(response, errStr, sizeof(errStr));
 printf("Failed to decode packet: %s\n", errStr);
 return false;
 }

 response = avcodec_receive_frame(av_codec_ctx, av_frame);
 if (response == AVERROR(EAGAIN) || response == AVERROR_EOF)
 {
 av_packet_unref(av_packet);
 continue;
 }
 else if (response < 0)
 {
 char errStr[256] = {0};
 av_strerror(response, errStr, sizeof(errStr));
 printf("Failed to decode packet: %s\n", errStr);
 return false;
 }

 av_packet_unref(av_packet);
 break;
 }
 int64_t* pts = &ppts;
 *pts = av_frame->pts;

 // Set up sws scaler
 if (!sws_scaler_ctx)
 {
 sws_scaler_ctx = sws_getContext(width, height, av_codec_ctx->pix_fmt,
 width, height, AV_PIX_FMT_BGR24,
 SWS_BILINEAR, NULL, NULL, NULL);
 if (!sws_scaler_ctx)
 {
 printf("Couldn't initialize sw scaler\n");
 return false;
 }
 }


 // Creating an image space to hold YUV images
 AVFrame* frameYUV = av_frame_alloc();
 auto* out_buffer = (unsigned char*)av_malloc(av_image_get_buffer_size(AV_PIX_FMT_BGR24, width, height, 1));
 av_image_fill_arrays(frameYUV->data, frameYUV->linesize, (const uint8_t*)out_buffer, AV_PIX_FMT_BGR24, width, height, 1);

 uint8_t* dest[4] = {cvimg.data, NULL, NULL, NULL};
 sws_scale(sws_scaler_ctx, av_frame->data, av_frame->linesize, 0, av_frame->height, dest, frameYUV->linesize);

 return true;
}



fixed this bug, so it's not luck that makes the camera turn on every time.