Recherche avancée

Médias (1)

Mot : - Tags -/belgique

Autres articles (75)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Submit bugs and patches

    13 avril 2011

    Unfortunately 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 (...)

Sur d’autres sites (5860)

  • no access to m3u8 when using ffmpeg [closed]

    7 octobre 2023, par asd

    I have a code that allows me to download videos from .m3u8, but for some reason it hasn't worked since yesterday

    


    ffmpeg -user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36" -headers "Referer: https://upstream.to/" -i "https://s92.upstreamcdn.co/hls2/01/03509/wc3i5yhdfgyk_o/master.m3u8?t=M9p8oTpo_LgYLnh2Ay4UEOT6Szltp5vGepiZ09ZjnFo&s=1696668614&e=10800&f=17548793&i=169.150&sp=0" -c copy -bsf:a aac_adtstoasc "name.mp4"


    


    what can I do to make it similar to the upstream task which looks like this

    


    Request URL:https://s92.upstreamcdn.co/hls2/01/03509/wc3i5yhdfgyk_o/master.m3u8?t=M9p8oTpo_LgYLnh2Ay4UEOT6Szltp5vGepiZ09ZjnFo&s=1696668614&e=10800&f=17548793&i=169.150&sp=0
Request Method: GET
Status Code:    200 OK
Remote Address: 164.132.163.19:443
Referrer Policy:    strict-origin-when-cross-origin
Access-Control-Allow-Origin:    *
Cache-Control:  max-age=8640000
Cache-Control:  public, no-transform
Connection: keep-alive
Content-Encoding:   gzip
Content-Type:   application/vnd.apple.mpegurl
Date:   Sat, 07 Oct 2023 08:50:16 GMT
Expires:    Mon, 15 Jan 2024 08:50:16 GMT
Last-Modified:  Sat, 07 Oct 2023 08:50:16 GMT
Server: nginx

Transfer-Encoding:chunked
Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7
Connection:keep-alive
Host:s92.upstreamcdn.co
Origin:https://upstream.to
Referer:https://upstream.to/
Sec-Ch-Ua:"Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"
Sec-Ch-Ua-Mobile:?0
Sec-Ch-Ua-Platform:"Windows"
Sec-Fetch-Dest:empty
Sec-Fetch-Mode:cors
Sec-Fetch-Site:cross-site
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36


    


  • NumPy array of a video changes from the original after writing into the same video

    29 mars 2021, par Rashiq

    I have a video (test.mkv) that I have converted into a 4D NumPy array - (frame, height, width, color_channel). I have even managed to convert that array back into the same video (test_2.mkv) without altering anything. However, after reading this new, test_2.mkv, back into a new NumPy array, the array of the first video is different from the second video's array i.e. their hashes don't match and the numpy.array_equal() function returns false. I have tried using both python-ffmpeg and scikit-video but cannot get the arrays to match.

    


    Python-ffmpeg attempt :

    


    import ffmpeg
import numpy as np
import hashlib

file_name = 'test.mkv'

# Get video dimensions and framerate
probe = ffmpeg.probe(file_name)
video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
width = int(video_stream['width'])
height = int(video_stream['height'])
frame_rate = video_stream['avg_frame_rate']

# Read video into buffer
out, error = (
    ffmpeg
        .input(file_name, threads=120)
        .output("pipe:", format='rawvideo', pix_fmt='rgb24')
        .run(capture_stdout=True)
)

# Convert video buffer to array
video = (
    np
        .frombuffer(out, np.uint8)
        .reshape([-1, height, width, 3])
)

# Convert array to buffer
video_buffer = (
    np.ndarray
        .flatten(video)
        .tobytes()
)

# Write buffer back into a video
process = (
    ffmpeg
        .input('pipe:', format='rawvideo', s='{}x{}'.format(width, height))
        .output("test_2.mkv", r=frame_rate)
        .overwrite_output()
        .run_async(pipe_stdin=True)
)
process.communicate(input=video_buffer)

# Read the newly written video
out_2, error = (
    ffmpeg
        .input("test_2.mkv", threads=40)
        .output("pipe:", format='rawvideo', pix_fmt='rgb24')
        .run(capture_stdout=True)
)

# Convert new video into array
video_2 = (
    np
        .frombuffer(out_2, np.uint8)
        .reshape([-1, height, width, 3])
)

# Video dimesions change
print(f'{video.shape} vs {video_2.shape}') # (844, 1080, 608, 3) vs (2025, 1080, 608, 3)
print(f'{np.array_equal(video, video_2)}') # False

# Hashes don't match
print(hashlib.sha256(bytes(video_2)).digest()) # b'\x88\x00\xc8\x0ed\x84!\x01\x9e\x08 \xd0U\x9a(\x02\x0b-\xeeA\xecU\xf7\xad0xa\x9e\\\xbck\xc3'
print(hashlib.sha256(bytes(video)).digest()) # b'\x9d\xc1\x07xh\x1b\x04I\xed\x906\xe57\xba\xf3\xf1k\x08\xfa\xf1\xfaM\x9a\xcf\xa9\t8\xf0\xc9\t\xa9\xb7'


    


    Scikit-video attempt :

    


    import skvideo.io as sk
import numpy as np

video_data = sk.vread('test.mkv')

sk.vwrite('test_2_ski.mkv', video_data)

video_data_2 = sk.vread('test_2_ski.mkv')

# Dimensions match but...
print(video_data.shape) # (844, 1080, 608, 3)
print(video_data_2.shape) # (844, 1080, 608, 3)

# ...array elements don't
print(np.array_equal(video_data, video_data_2)) # False

# Hashes don't match either
print(hashlib.sha256(bytes(video_2)).digest()) # b'\x8b?]\x8epD:\xd9B\x14\xc7\xba\xect\x15G\xfaRP\xde\xad&EC\x15\xc3\x07\n{a[\x80'
print(hashlib.sha256(bytes(video)).digest()) # b'\x9d\xc1\x07xh\x1b\x04I\xed\x906\xe57\xba\xf3\xf1k\x08\xfa\xf1\xfaM\x9a\xcf\xa9\t8\xf0\xc9\t\xa9\xb7'


    


    I don't understand where I'm going wrong and both the respective documentations do not highlight how to do this particular task. Any help is appreciated. Thank you.

    


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