
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (61)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.
Sur d’autres sites (9225)
-
FFMPEG decoder only decoding correctly on small resolutions
2 décembre 2019, par Matija ManđurovSo I am building a encoding/decoding system with FFMPEG to use in Unity. The idea is to create an MP4 stream starting from a Texture in Unity that gets converted to an MP4 stream, gets sent over a network connection and returns to a Texture on the other side. I have a working version that handles correctly over small resolutions, and I am pretty sure its not performance related why it is falling at higher resolution. The commands are as follows :
1) Converting textures to MP4 stream :
"-pixel_format rgba -colorspace bt709 -f rawvideo -vcodec rawvideo -framerate {_frameRate} -video_size {_width}x{_height} -i - -pix_fmt yuv420p -f mpegts - "
Input and Output are both using std in and std out. This creates a correct MP4 stream that I have verified is working at least as high as Full HD resolution in real time using FFPlay. So performance wise the encoder is fine.
2) converting MP4 stream to Raw Video
"-i - -r {_frameRate} -s {_width}x{_height} -pix_fmt yuv420p -f rawvideo - "
the input is the incoming MP4 stream sent over the network and output is sent to std out in raw yuv420 frames. This also works in real time on small resolutions. My guess is that I am not defining the input parameters correctly since the errors are as follows.
1) The process works with no delays with resolutions where both height and width are up to 144. For example 144x144 works perfectly, 160x144 doesn’t work. I assume that that small of a difference cannot be performance related. Is there a buffer than needs to be expanded for larger resolutions ?
2) I noticed that the bit-rate and frame-rate of the encoder and decoder differ greatly. For example when using a 144*144 texture the bit-rate is 140 kbits/s and frame-rate is 30 (as defined by me), while the decoder for that resolutions is running at 66 frame-rate and a bit-rate of 7250 kbits/s. Again I assume FFMPEG is reading the inputting video wrong due to me falling to defined the input parameters correctly.
3) When increasing the resolution over 144*144 I noticed that FFMPEG is outputting frames at a much higher rate. I set a system that collects data from std out and prepares a frame once it collects enough bytes. For a low resolution this is happening at exactly the frame-rate specified (in most cases 30) while as soon as the resolution is increased its outputting roughly at 200 frame-rate.
4) Finally FFMPEG is not producing any errors and visually when I have too large of a resolution the resulting textures are distorted, looking like green static. The green I assume is from my yuv420 to RGB converter.
In summary my main question is :
when receiving an MP4 stream over UDP packets that are then forwarded over std in to FFMPEG how does one correctly define the input parameters to make sure FFMPEG is reading the video correctly and outputting rawvideo yuv420 frames.
Thank you
-
avutil : add hwcontext_amf.
15 octobre 2024, par Dmitrii Ovchinnikovavutil : add hwcontext_amf.
Adds hwcontext_amf, enabling a shared AMF context for encoders,
decoders, and AMF-based filters, without copy to the host memory.
Code also was tested in HandBrake.Benefits :
- Optimizations for direct video memory access from CPU
- Significant performance boost in full AMF pipelines with filters
- Integration of GPU filters like VPP, Super Resolution, and
Compression Artefact Removal(in future plans)
- VCN power management control for decoders.
- Ability to specify which VCN instance to use for decoding
(like for encoder)
- AMD will soon introduce full AMF API for multimedia accelerator MA35D
- With AMF API, integration will be much easier :
GPU and the accelerator will have the same API
- including encoder, decoder, scaler, color converter,
Windows and Linux.
Learn more :
https://www.amd.com/en/products/accelerators/alveo/ma35d.htmlChanges by versions :
v2 : Header file cleanup.
v3 : Removed an unnecessary class.
v4 : code cleanup and improved error handling
v5 : Fixes related to HandBrake integration.
v6 : Sequential filters error and memory leak have been fixed. -
I cannot find any way to convert multiple jpg or png to gif in vb.net using ffmpeg
4 juillet 2017, par Silvia FonsecaIs there anyway i can get multiples png or jpg images to gif using ffmpeg in vb.net
I have start a new application to capture certain frames from a video but now i want to get all the frames extracted in gif image using ffmpeg.
This is my code so far :
I have in fact all ready try like this but not succeed
I have made some changes and i get the gif file but in empty state
This is my code so farImports System.Diagnostics
Imports System.ComponentModel
Imports System
Imports System.IO
Public Class Form1
Dim video = ""
Dim startInfo As New ProcessStartInfo("ffmpeg.exe")
Dim frame As Long 'individual frames
Dim tempdir As String = "C:\avitogifconverter\" ' images temp directory
Dim DestPath As String = "C:\avitogifconverter\"
Public Declare Auto Function FindWindowNullClassName Lib "user32.dll" Alias "FindWindow" (ByVal lpClassname As Integer, ByVal lpWindownName As String) As Integer
Dim Counter As Integer = 0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
My.Computer.FileSystem.CreateDirectory(tempdir)
TextBox1.Text = "exp:-->video.avi or webm or flv"
TextBox1.Clear()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim p As Process = Process.Start("cmd", "/k ffmpeg.exe -i " + TextBox1.Text + " -filter:v fps=1/15 C:\avitogifconverter\out%02d.jpg")
p.WaitForExit()
If p.HasExited Then
MsgBox("The Extraction Are Finish...")
End If
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Label3.Text = "cmd" + "/k ffmpeg.exe -i " + TextBox1.Text + " -filter:v fps=1/15 C:\avi to gif converter\out%02d.jpg"
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If (OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK) Then
'TextBox1.Text = OpenFileDialog1.FileName
TextBox1.Text = System.IO.Path.GetFileName(OpenFileDialog1.FileName)
End If
If TextBox1.Text = Nothing Then
Return
End If
If TextBox1.Text <> Nothing Then
'My.Computer.FileSystem.CopyFile(TextBox1.Text, DestPath)
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim args As String 'declare args
args = " -framerate 1/5 -i C:\avitogifconverter\out%02d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p C:\avitogifconverter\out.gif "
Dim proc As New Process
Dim proci As New ProcessStartInfo
proci.FileName = My.Application.Info.DirectoryPath & "\ffmpeg.exe"
proci.Arguments = args
proci.WindowStyle = ProcessWindowStyle.Hidden
proci.CreateNoWindow = True
proci.UseShellExecute = False
proc.StartInfo = proci
proc.Start()
Do Until proc.HasExited = True
Me.Text = "Saving"
Loop
Me.Text = "your video done"
MsgBox("Done")
'IO.Directory.Delete(tempdir, True)
End Sub
End Class