Recherche avancée

Médias (3)

Mot : - Tags -/pdf

Autres articles (53)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (10389)

  • I am converting images to video using ffmpeg in koltin but i am getting error

    28 mars 2024, par Mohith_karthikeya

    i implement ffmpeg by using this gitbub by this reference :5
https://github.com/tanersener/mobile-ffmpeg in koltin
my code is :

    


    class BurstModeToVideo(&#xA;    private val context: Context,&#xA;    private val onVideoConverted: (File) -> Unit&#xA;) {&#xA;&#xA;    private val vibeDirectory = File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), "vibes")&#xA;    private val outputDirectory = context.getExternalFilesDir(Environment.DIRECTORY_MOVIES)&#xA;&#xA;    fun convertBitmapToJpeg(vibes: List<bitmap>) {&#xA;        if (!vibeDirectory.exists()) {&#xA;            vibeDirectory.mkdirs()&#xA;        }&#xA;&#xA;        vibes.forEachIndexed { index, vibe ->&#xA;            val fileName = "$index.jpg"&#xA;            val file = File(vibeDirectory, fileName)&#xA;            FileOutputStream(file).use { fos ->&#xA;                vibe.compress(Bitmap.CompressFormat.JPEG, 100, fos)&#xA;            }&#xA;        }&#xA;    }&#xA;&#xA;    private val callback = ExecuteCallback { _, returnCode ->&#xA;        if (returnCode == Config.RETURN_CODE_SUCCESS) {&#xA;            try {&#xA;                val tempFile = File("${outputDirectory?.absolutePath}/vibe.mp4")&#xA;                onVideoConverted(tempFile)&#xA;                Log.e(TAG, "FFmpeg output found $tempFile")&#xA;                Toast.makeText(context,"$tempFile",Toast.LENGTH_LONG).show()&#xA;                Log.e(TAG, "FFmpeg output found $")&#xA;            } catch (e: IOException) {&#xA;                Log.e(TAG, "Error handling FFmpeg output", e)&#xA;            }&#xA;        } else {&#xA;            Log.i(TAG, "Async command execution failed with returnCode=$returnCode.")&#xA;        }&#xA;    }&#xA;&#xA;    fun convertShotsToVideo() {&#xA;        if (!vibeDirectory.exists() || vibeDirectory.listFiles()?.isEmpty() == true) {&#xA;            Log.e(TAG, "No images to convert")&#xA;            return&#xA;        }&#xA;&#xA;        Log.d(TAG, "Images are stored in: ${vibeDirectory.absolutePath}")&#xA;&#xA;        val imageFiles = vibeDirectory.listFiles { file -> file.isFile &amp;&amp; file.extension.equals("jpg", ignoreCase = true) }&#xA;        if (imageFiles.isNullOrEmpty()) {&#xA;            Log.e(TAG, "No image files found in directory")&#xA;            return&#xA;        }&#xA;&#xA;        Log.d(TAG, "List of image files:")&#xA;        imageFiles.forEach { file ->&#xA;            Log.d(TAG, file.name)&#xA;        }&#xA;&#xA;        val cmd = "-i ${vibeDirectory.absolutePath}/%d.jpg -c:v mpeg4 -y ${outputDirectory?.absolutePath}/vibe.mp4"&#xA;&#xA;        FFmpevubeg.executeAsync(cmd, callback)&#xA;    }&#xA;&#xA;    companion object {&#xA;        private const val TAG = "BurstModeToVideo"&#xA;    }&#xA;}&#xA;</bitmap>

    &#xA;

    above function convert images from bimtap to jpeg files and then it converts to video by using ffmpeg. And i initialize this fun in mainactivity.kt and it goes here :

    &#xA;

    var vibe by remember {&#xA;        mutableStateOf(null)&#xA;    }&#xA;&#xA;    val burstModeToVideo = BurstModeToVideo(&#xA;        context,&#xA;        onVideoConverted = {&#xA;            vibe = it&#xA;        }&#xA;    )&#xA;coroutineScope.launch {&#xA;            withContext(Dispatchers.IO) {&#xA;                burstModeToVideo.convertBitmapToJpeg(vibesList)&#xA;                burstModeToVideo.convertShotsToVideo()&#xA;            }&#xA;        }&#xA;&#xA;VideoPlayer(vibe)&#xA;

    &#xA;

    now this vibe variable is used in videoPlayer function and it goes here :

    &#xA;

    @OptIn(UnstableApi::class)&#xA;@Composable&#xA;fun VideoPlayer(file: File) {&#xA;    val context = LocalContext.current&#xA;&#xA;    val exoPlayer = remember {&#xA;        ExoPlayer.Builder(context)&#xA;            .build()&#xA;            .apply {&#xA;                val defaultDataSourceFactory = DefaultDataSource.Factory(context)&#xA;                val dataSourceFactory: DataSource.Factory = DefaultDataSource.Factory(&#xA;                    context,&#xA;                    defaultDataSourceFactory&#xA;                )&#xA;                this.repeatMode = ExoPlayer.REPEAT_MODE_ALL&#xA;                this.playWhenReady =  true&#xA;                val source = file.let {&#xA;                    ProgressiveMediaSource.Factory(dataSourceFactory)&#xA;                        .createMediaSource(MediaItem.fromUri(Uri.fromFile(file)))&#xA;                }&#xA;                this.setMediaSource(source)&#xA;                this.prepare()&#xA;                this.play()&#xA;                this.volume = 0f&#xA;            }&#xA;    }&#xA;&#xA;    DisposableEffect(Unit) {&#xA;        onDispose {&#xA;            exoPlayer.release()&#xA;        }&#xA;    }&#xA;&#xA;    AndroidView(&#xA;        factory = { ctx ->&#xA;            PlayerView(ctx).apply {&#xA;                useController = false&#xA;                resizeMode = AspectRatioFrameLayout.RESIZE_MODE_ZOOM&#xA;                player = exoPlayer&#xA;            }&#xA;        },&#xA;        modifier = Modifier.fillMaxSize()&#xA;    )&#xA;}&#xA;

    &#xA;

    the error is :

    &#xA;

     MediaCodec will operate in async mode&#xA;2024-03-28 20:08:53.065 18946-27920 OplusCCodec             com.example.flenzey                  D  initiateShutdown [475]: (0xb400007656569fc0) keepComponentAllocated=0&#xA;2024-03-28 20:08:53.067 18946-27920 BpBinder                com.example.flenzey                  I  onLastStrongRef automatically unlinking death recipients: android.media.IResourceManagerService&#xA;2024-03-28 20:08:53.069 18946-27926 hw-BpHwBinder           com.example.flenzey                  I  onLastStrongRef automatically unlinking death recipients&#xA;2024-03-28 20:08:53.071 18946-27926 OplusCCodec             com.example.flenzey                  D  ~OplusCCodec [144]: (0xb400007656569fc0)&#xA;2024-03-28 20:08:53.077 18946-27889 MediaCodecRenderer      com.example.flenzey                  W  Failed to initialize decoder: c2.android.mpeg4.decoder&#xA;                                                                                                      java.lang.IllegalArgumentException&#xA;                                                                                                          at android.media.MediaCodec.native_configure(Native Method)&#xA;                                                                                                          at android.media.MediaCodec.configure(MediaCodec.java:2176)&#xA;                                                                                                          at android.media.MediaCodec.configure(MediaCodec.java:2092)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:174)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:54)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:119)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:117)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1195)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1103)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:551)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1560)&#xA;                                                                                                          at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1152)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:994)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:814)&#xA;                                                                                                          at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940)&#xA;                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1102)&#xA;                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541)&#xA;                                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)&#xA;                                                                                                          at android.os.Looper.loopOnce(Looper.java:238)&#xA;                                                                                                          at android.os.Looper.loop(Looper.java:349)&#xA;                                                                                                          at android.os.HandlerThread.run(HandlerThread.java:67)&#xA;2024-03-28 20:08:53.091 18946-27889 MediaCodecVideoRenderer com.example.flenzey                  E  Video codec error&#xA;                                                                                                      androidx.media3.exoplayer.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: c2.android.mpeg4.decoder, Format(1, null, null, video/mp4v-es, null, 22800180, null, [2448, 3264, 24.999998, ColorInfo(Unset color space, Unset color range, Unset color transfer, false, 8bit Luma, 8bit Chroma)], [-1, -1])&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1114)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:551)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1560)&#xA;                                                                                                          at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1152)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:994)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:814)&#xA;                                                                                                          at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940)&#xA;                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1102)&#xA;                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541)&#xA;                                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)&#xA;                                                                                                          at android.os.Looper.loopOnce(Looper.java:238)&#xA;                                                                                                          at android.os.Looper.loop(Looper.java:349)&#xA;                                                                                                          at android.os.HandlerThread.run(HandlerThread.java:67)&#xA;                                                                                                      Caused by: java.lang.IllegalArgumentException&#xA;                                                                                                          at android.media.MediaCodec.native_configure(Native Method)&#xA;                                                                                                          at android.media.MediaCodec.configure(MediaCodec.java:2176)&#xA;                                                                                                          at android.media.MediaCodec.configure(MediaCodec.java:2092)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:174)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:54)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:119)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:117)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1195)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1103)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:551)&#xA0;&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1560)&#xA0;&#xA;                                                                                                          at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1152)&#xA0;&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:994)&#xA0;&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:814)&#xA0;&#xA;                                                                                                          at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940)&#xA0;&#xA;                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1102)&#xA0;&#xA;                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541)&#xA0;&#xA;                                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)&#xA0;&#xA;                                                                                                          at android.os.Looper.loopOnce(Looper.java:238)&#xA0;&#xA;                                                                                                          at android.os.Looper.loop(Looper.java:349)&#xA0;&#xA;                                                                                                          at android.os.HandlerThread.run(HandlerThread.java:67)&#xA0;&#xA;2024-03-28 20:08:53.092 18946-27889 MediaCodecInfo          com.example.flenzey                  D  NoSupport [sizeAndRate.support, 2448x3264@24.999998092651367] [c2.android.mpeg4.decoder, video/mp4v-es] [OP535DL1, CPH2381, OnePlus, 31]&#xA;2024-03-28 20:08:53.108 18946-27889 ExoPlayerImplInternal   com.example.flenzey                  E  Playback error&#xA;                                                                                                      androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/mp4v-es, null, 22800180, null, [2448, 3264, 24.999998, ColorInfo(Unset color space, Unset color range, Unset color transfer, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=NO_EXCEEDS_CAPABILITIES&#xA;                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:620)&#xA;                                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)&#xA;                                                                                                          at android.os.Looper.loopOnce(Looper.java:238)&#xA;                                                                                                          at android.os.Looper.loop(Looper.java:349)&#xA;                                                                                                          at android.os.HandlerThread.run(HandlerThread.java:67)&#xA;                                                                                                      Caused by: androidx.media3.exoplayer.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: c2.android.mpeg4.decoder, Format(1, null, null, video/mp4v-es, null, 22800180, null, [2448, 3264, 24.999998, ColorInfo(Unset color space, Unset color range, Unset color transfer, false, 8bit Luma, 8bit Chroma)], [-1, -1])&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1114)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:551)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1560)&#xA;                                                                                                          at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1152)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:994)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:814)&#xA;                                                                                                          at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940)&#xA;                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1102)&#xA;                                                                                                          at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541)&#xA;                                                                                                          at android.os.Handler.dispatchMessage(Handler.java:102)&#xA0;&#xA;                                                                                                          at android.os.Looper.loopOnce(Looper.java:238)&#xA0;&#xA;                                                                                                          at android.os.Looper.loop(Looper.java:349)&#xA0;&#xA;                                                                                                          at android.os.HandlerThread.run(HandlerThread.java:67)&#xA0;&#xA;                                                                                                      Caused by: java.lang.IllegalArgumentException&#xA;                                                                                                          at android.media.MediaCodec.native_configure(Native Method)&#xA;                                                                                                          at android.media.MediaCodec.configure(MediaCodec.java:2176)&#xA;                                                                                                          at android.media.MediaCodec.configure(MediaCodec.java:2092)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:174)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:54)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:119)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:117)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1195)&#xA;                                                                                                          at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1103)&#xA;

    &#xA;

    can anybody solve it

    &#xA;

    i tried to implement but i don't how to solve it . please decode this and get me correct result.

    &#xA;

  • Reduce ffmpeg CPU usage with h265 [closed]

    23 septembre 2024, par Neskelogth

    I have a video file to convert using ffmpeg on Ubuntu 22.04. The input uses the codec h264 and I want to convert it to h265 (mainly for storage capacity reasons). The output of ffmpeg -version is

    &#xA;

    ffmpeg version N-113725-g37702e2066 Copyright (c) 2000-2024 the FFmpeg developers&#xA;built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)&#xA;configuration: --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared --enable-libx265 --enable-gpl&#xA;libavutil      58. 39.100 / 58. 39.100&#xA;libavcodec     60. 39.101 / 60. 39.101&#xA;libavformat    60. 21.101 / 60. 21.101&#xA;libavdevice    60.  4.100 / 60.  4.100&#xA;libavfilter     9. 17.100 /  9. 17.100&#xA;libswscale      7.  6.100 /  7.  6.100&#xA;libswresample   4. 13.100 /  4. 13.100&#xA;libpostproc    57.  4.100 / 57.  4.100&#xA;

    &#xA;

    I saw online that one of the options of ffmpeg is -threads, but apparently it does not work, since using ffmpeg -i input.mp4 -c:v libx265 -c:a copy output.mp4 and ffmpeg -i input.mp4 -c:v libx265 -c:a copy -threads 2 output.mp4 seem to be exactly the same in terms of CPU usage as shown by htop. Is there something wrong in my usage of -threads ?

    &#xA;

  • Anomalie #4219 (Fermé) : #URL_ACTION_AUTEUR{truc} génère un Warning

    11 février 2021, par cedric -

    Pourquoi rendre arg obligatoire ? ou pourquoi rendre redirect obligatoire ?

    En pratique on est bien obligé de mettre un argument avant l’autre donc l’un des deux sera obligatoire si on veut mettre le 3eme.

    On peut en effet permettre à arg d’etre par defaut vide, intégré par https://git.spip.net/spip/spip/commit/4b8585a0f29674db1def72923ae0c96e27146545