
Recherche avancée
Médias (91)
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Paul Westerberg - Looking Up in Heaven
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Le Tigre - Fake French
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Thievery Corporation - DC 3000
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Dan the Automator - Relaxation Spa Treatment
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Gilberto Gil - Oslodum
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (41)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...) -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
Sur d’autres sites (7627)
-
Using explicit casting to solve invalid conversion from ‘int’ to ‘AVRounding’
29 juillet 2020, par C4RN4GEI'm trying to follow the "learn ffmpeg the hard way" guide on github (https://github.com/leandromoreira/ffmpeg-libav-tutorial#chapter-2---remuxing) and when I try to run the remuxing code for myself using a C++ compiler I always get the error


invalid conversion from ‘int’ to ‘AVRounding’[-fpermissive]



The only real difference between my code and the github original is that I take the input filename and output filename as parameters instead. Doing some resarch I have found that AVRounding is a enum ? I think ? Thus I need to explicitly cast somehow. However I'm failing to understand how explicit casting works and how I would use it to solve my issue. Where would I cast it ?
Here's the line that causes the issue :


packet.pts = av_rescale_q_rnd(packet.pts, in_stream->time_base, out_stream->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
packet.dts = av_rescale_q_rnd(packet.dts, in_stream->time_base, out_stream->time_base, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);



Could anyone explain how to solve the issue ? Sorry if it's a beginners mistake. Thanks in advance for any help.


-
Copy ffmpeg d3dva texture resource to shared rendering texture
10 juin 2020, par TeamolI'm using ffmpeg to decode video via d3dva based on this example https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/hw_decode.c. I'm able to succesfully decode video. What I need to do next is to render decoded NV12 frame. I have created directx rendering texture based on this example https://github.com/balapradeepswork/D3D11NV12Rendering and set it as shared.



D3D11_TEXTURE2D_DESC texDesc;
 texDesc.Format = DXGI_FORMAT_NV12; // Pixel format
 texDesc.Width = width; // Width of the video frames
 texDesc.Height = height; // Height of the video frames
 texDesc.ArraySize = 1; // Number of textures in the array
 texDesc.MipLevels = 1; // Number of miplevels in each texture
 texDesc.BindFlags = D3D11_BIND_SHADER_RESOURCE; // We read from this texture in the shader
 texDesc.Usage = D3D11_USAGE_DEFAULT;
 texDesc.MiscFlags = D3D11_RESOURCE_MISC_SHARED;
 texDesc.CPUAccessFlags = 0;

 hr = device.CreateTexture2D(&texDesc, null, &nv12Texture);
 if (FAILED(hr))
 {
 error("Failed to create NV12 texture (hr: %s)", hr);
 return false;
 }

 // QI IDXGIResource interface to synchronized shared surface.
 IDXGIResource dxgiResource;
 nv12Texture.QueryInterface(&IID_IDXGIResource, cast(void**)&dxgiResource);

 // obtain handle to IDXGIResource object.
 hr = dxgiResource.GetSharedHandle(&sharedHandle);
 dxgiResource.Release();
 dxgiResource = null;

 if (FAILED(hr))
 {
 error("Failed to create NV12 texture shared handle (hr: %s)", hr);
 return false;
 }




I'm then trying to copy nv12 from ffmpeg texture to my rendering texture. exactly as ffmpeg does in function d3d11va_transfer_data.



ID3D11Texture2D hwTexture = cast(ID3D11Texture2D)frame.data[0];

 ID3D11Device hwDevice;
 hwTexture.GetDevice(&hwDevice);

 ID3D11DeviceContext hwDeviceCtx;
 hwDevice.GetImmediateContext(&hwDeviceCtx);

 ID3D11Texture2D sharedTexture;

 HRESULT hr = device.OpenSharedResource(sharedHandle, &IID_ID3D11Texture2D,cast(void**) &sharedTexture);
 if(FAILED(hr))
 {
 error("Failed to obtaion open shared resource.");
 return;
 }

 int index = cast(int)frame.data[1];
 hwDeviceCtx.CopySubresourceRegion(sharedTexture, 0, 0, 0, 0, hwTexture, index, null);




But the rendering window is just green no error no FAILED hr result nothing. I'm able render frames when I'm using sw decoder I just create texture with D3D11_USAGE_DYNAMIC and D3D11_CPU_ACCESS_WRITE.



Here us desc of each texture.



hwTexture desc D3D11_TEXTURE2D_DESC(1280, 720, 1, 20, 103, DXGI_SAMPLE_DESC(1, 0), 0, 512, 0, 0)
nv12Texture desc D3D11_TEXTURE2D_DESC(1280, 720, 1, 1, 103, DXGI_SAMPLE_DESC(1, 0), 0, 8, 0, 2)
sharedTexture desc D3D11_TEXTURE2D_DESC(1280, 720, 1, 1, 103, DXGI_SAMPLE_DESC(1, 0), 0, 8, 0, 2)




Any idea what I'm missing ?


-
php ffmpeg exec & shell_exec process stops after few seconds
6 octobre 2019, par SalemI’m using PHP script file with simple html interface to control FFMPEG process start and stop from the browser , the script goal is start live streaming on my server that usually runs for hours without stop (using ffmpeg and nginx-rtmp )
my script were working perfectly until I notice recently This is strange behaviors
here is my php script variables$cast =" /usr/sbin/ffmpeg -loglevel 0 -thread_queue_size 32768 -re -i '".$src."' -i /var/www/example/logo.png -r 23.976 -strict -2 480x360 -aspect 16:9 -filter_complex 'overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)-23' -vcodec libx264 -x264opts colormatrix=bt709 -profile:v high444 4 -b:v 290k -maxrate 290k -bufsize 250k -af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" -acodec libfdk_aac -profile:a aac_he_v2 -b:a 16k -map_metadata -1 -f flv rtmp://localhost/hls/live 2>/dev/null >/dev/null & " ;
$output = shell_exec( $cast ) ;It’s like FFMPEG process continue until original php process ( that call it ) die , at first I thought this issue with the sorce or ffmpeg command but I test the same command on the sell and it works perfectly .
My suspicion are with on STDIO etc were not redirected right . even when I excute the same php script from the shell it’s do the same stops after few seconds .=Edit=
Even when I tried to run
ffmpeg
from the command line and make it run on the background , I got same behavior the process stop after few seconds , ffmpeg continue running only if I wait for it output .Here my OS details :-
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"