
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (99)
-
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 (13118)
-
vf_colorspace : Interpret unspecified color range as limited range
19 septembre 2016, par Vittorio Giovaravf_colorspace : Interpret unspecified color range as limited range
This is the assumption that is made in pixel format conversion do
throughout the code (in particular swscale), and BT-specifications
mandate.Add a warning to inform the user that an automatic selection is being
made.Signed-off-by : Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by : Ronald S. Bultje <rsbultje@gmail.com> -
Android FFmpeg export of the Video in SurfaceView with Pinch/Scale/Zoom/Bg Color Operation
31 mai 2024, par CoderDevI'm working on a feature in which I need to perform some actions on the selected video from the gallery and then upload it on the Backend server, on this selected video I can pinch it to scale up/down/zoom in/out and place it anywhere on the screen (even out side the screen), just like the Instagram app.
I can apply a background color which will be applied to the whole space of the outer of the video frame.


After all the above changes I'm exporting the changes to the output video that will contain all the changes that I've mentioned above. I'm using the FFMpeg for the same :


implementation("com.arthenica:ffmpeg-kit-full-gpl:6.0-2.LTS")




Basically the operation is being achieved with this solution (Except Export Video) : Android SurfaceView operation on Video to Pinch/Scale/Zoom/Bg Color


I've tried numerous FFmpeg commands but not getting the adequate output, I've tried below solution :


private fun exportVideo() {
 val outputVideoPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).path + "/ffmpegoutput.mp4"
 val inputVideoPath = selectedFilePath
 val bgColor = getColorHexCode()

 // Load the input video dimensions
 val retriever = MediaMetadataRetriever()
 retriever.setDataSource(inputVideoPath)
 val videoWidth = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)?.toInt() ?: 0
 val videoHeight = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT)?.toInt() ?: 0
 retriever.release()

 // Calculate the scaled dimensions
 val scaledWidth = (videoWidth * scaleFactor).toInt()
 val scaledHeight = (videoHeight * scaleFactor).toInt()

 // Calculate the new translation
 val translatedX = translationX.toInt()
 val translatedY = translationY.toInt()

 // Ensure the output dimensions are at least as large as the scaled dimensions
 val outputWidth = maxOf(deviceWidth, scaledWidth + abs(translatedX) * 2)
 val outputHeight = maxOf(deviceHeight, scaledHeight + abs(translatedY) * 2)

 // Calculate padding positions
 val xPad = (outputWidth - scaledWidth) / 2 + translatedX
 val yPad = (outputHeight - scaledHeight) / 2 + translatedY

 // Create the filter string for FFmpeg
 val filter = "scale=$scaledWidth:$scaledHeight," +
 "pad=$diagonal:$diagonal:(ow-iw)/2:(oh-ih)/2:$bgColor," +
 "pad=$outputWidth:$outputHeight:$xPad:$yPad:$bgColor"


 val command = ("-i $inputVideoPath " +
 "-vf $filter " +
 "-c:a copy " + // Copy the audio stream without re-encoding
 "-y $outputVideoPath"
 )

 // Execute FFMPEG command
 executeFFmpegKitCommand(command)
 }


 private fun executeFFmpegKitCommand(command: String) {
 FFmpegKit.executeAsync(command) { session ->
 println("FFMPEG executeAsync, session: $session")
 val returnCode = session.returnCode
 if (returnCode.isValueSuccess) {
 // Handle success
 runOnUiThread {
 Toast.makeText(this, "Video saved successfully!", Toast.LENGTH_SHORT).show()
 }
 } else {
 // Handle failure
 runOnUiThread {
 Toast.makeText(this, "Failed to save video", Toast.LENGTH_SHORT).show()
 }
 }
 }
 }



But this not giving me the adequate output, it's not creating the output with the Screen's height/width (Tried passing the same), and the original video position is also not correct on the canvas which I've placed with the touch event.


-
AV_PIX_FMT_NV12 says it has a 12bpp bit pixel color but data is uint8_t how can I modify the pixels from a frame ?
9 juillet 2024, par user14290993The documentaions says AV_PIX_FMT_NV12 planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)


also linesize[1] and linesize[0] are 1920, but if I strlen(data[1]) ( UV components )
I get 1044587 this divided by the frame->heigth gives me 967,21... so the linesize is wrong ?