Recherche avancée

Médias (91)

Autres articles (99)

  • Soumettre bugs et patchs

    10 avril 2011

    Un 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 2011

    MediaSPIP 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, par

    To 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 Giovara
    vf_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>

    • [DH] libavfilter/vf_colorspace.c
  • Android FFmpeg export of the Video in SurfaceView with Pinch/Scale/Zoom/Bg Color Operation

    31 mai 2024, par CoderDev

    I'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.&#xA;I can apply a background color which will be applied to the whole space of the outer of the video frame.

    &#xA;

    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 :

    &#xA;

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

    &#xA;

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

    &#xA;

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

    &#xA;

        private fun exportVideo() {&#xA;        val outputVideoPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).path &#x2B; "/ffmpegoutput.mp4"&#xA;        val inputVideoPath = selectedFilePath&#xA;        val bgColor = getColorHexCode()&#xA;&#xA;        // Load the input video dimensions&#xA;        val retriever = MediaMetadataRetriever()&#xA;        retriever.setDataSource(inputVideoPath)&#xA;        val videoWidth = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH)?.toInt() ?: 0&#xA;        val videoHeight = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT)?.toInt() ?: 0&#xA;        retriever.release()&#xA;&#xA;        // Calculate the scaled dimensions&#xA;        val scaledWidth = (videoWidth * scaleFactor).toInt()&#xA;        val scaledHeight = (videoHeight * scaleFactor).toInt()&#xA;&#xA;        // Calculate the new translation&#xA;        val translatedX = translationX.toInt()&#xA;        val translatedY = translationY.toInt()&#xA;&#xA;         // Ensure the output dimensions are at least as large as the scaled dimensions&#xA;        val outputWidth = maxOf(deviceWidth, scaledWidth &#x2B; abs(translatedX) * 2)&#xA;        val outputHeight = maxOf(deviceHeight, scaledHeight &#x2B; abs(translatedY) * 2)&#xA;&#xA;        // Calculate padding positions&#xA;        val xPad = (outputWidth - scaledWidth) / 2 &#x2B; translatedX&#xA;        val yPad = (outputHeight - scaledHeight) / 2 &#x2B; translatedY&#xA;&#xA;        // Create the filter string for FFmpeg&#xA;        val filter = "scale=$scaledWidth:$scaledHeight," &#x2B;&#xA;                "pad=$diagonal:$diagonal:(ow-iw)/2:(oh-ih)/2:$bgColor," &#x2B;&#xA;                "pad=$outputWidth:$outputHeight:$xPad:$yPad:$bgColor"&#xA;&#xA;&#xA;        val command = ("-i $inputVideoPath " &#x2B;&#xA;                "-vf $filter " &#x2B;&#xA;                "-c:a copy " &#x2B; // Copy the audio stream without re-encoding&#xA;                "-y $outputVideoPath"&#xA;                )&#xA;&#xA;        // Execute FFMPEG command&#xA;        executeFFmpegKitCommand(command)&#xA;    }&#xA;&#xA;&#xA;    private fun executeFFmpegKitCommand(command: String) {&#xA;        FFmpegKit.executeAsync(command) { session ->&#xA;            println("FFMPEG executeAsync, session: $session")&#xA;            val returnCode = session.returnCode&#xA;            if (returnCode.isValueSuccess) {&#xA;                // Handle success&#xA;                runOnUiThread {&#xA;                    Toast.makeText(this, "Video saved successfully!", Toast.LENGTH_SHORT).show()&#xA;                }&#xA;            } else {&#xA;                // Handle failure&#xA;                runOnUiThread {&#xA;                    Toast.makeText(this, "Failed to save video", Toast.LENGTH_SHORT).show()&#xA;                }&#xA;            }&#xA;        }&#xA;    }&#xA;

    &#xA;

    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.

    &#xA;

  • 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 user14290993

    The 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)

    &#xA;

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

    &#xA;