
Recherche avancée
Médias (1)
-
ED-ME-5 1-DVD
11 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
Autres articles (90)
-
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (7566)
-
no access to m3u8 when using ffmpeg [closed]
7 octobre 2023, par asdI 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 RashiqI 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 thenumpy.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_karthikeyai implement ffmpeg by using this gitbub by this reference :5

https://github.com/tanersener/mobile-ffmpeg
in koltin
my code is :

class BurstModeToVideo(
 private val context: Context,
 private val onVideoConverted: (File) -> Unit
) {

 private val vibeDirectory = File(context.getExternalFilesDir(Environment.DIRECTORY_PICTURES), "vibes")
 private val outputDirectory = context.getExternalFilesDir(Environment.DIRECTORY_MOVIES)

 fun convertBitmapToJpeg(vibes: List<bitmap>) {
 if (!vibeDirectory.exists()) {
 vibeDirectory.mkdirs()
 }

 vibes.forEachIndexed { index, vibe ->
 val fileName = "$index.jpg"
 val file = File(vibeDirectory, fileName)
 FileOutputStream(file).use { fos ->
 vibe.compress(Bitmap.CompressFormat.JPEG, 100, fos)
 }
 }
 }

 private val callback = ExecuteCallback { _, returnCode ->
 if (returnCode == Config.RETURN_CODE_SUCCESS) {
 try {
 val tempFile = File("${outputDirectory?.absolutePath}/vibe.mp4")
 onVideoConverted(tempFile)
 Log.e(TAG, "FFmpeg output found $tempFile")
 Toast.makeText(context,"$tempFile",Toast.LENGTH_LONG).show()
 Log.e(TAG, "FFmpeg output found $")
 } catch (e: IOException) {
 Log.e(TAG, "Error handling FFmpeg output", e)
 }
 } else {
 Log.i(TAG, "Async command execution failed with returnCode=$returnCode.")
 }
 }

 fun convertShotsToVideo() {
 if (!vibeDirectory.exists() || vibeDirectory.listFiles()?.isEmpty() == true) {
 Log.e(TAG, "No images to convert")
 return
 }

 Log.d(TAG, "Images are stored in: ${vibeDirectory.absolutePath}")

 val imageFiles = vibeDirectory.listFiles { file -> file.isFile && file.extension.equals("jpg", ignoreCase = true) }
 if (imageFiles.isNullOrEmpty()) {
 Log.e(TAG, "No image files found in directory")
 return
 }

 Log.d(TAG, "List of image files:")
 imageFiles.forEach { file ->
 Log.d(TAG, file.name)
 }

 val cmd = "-i ${vibeDirectory.absolutePath}/%d.jpg -c:v mpeg4 -y ${outputDirectory?.absolutePath}/vibe.mp4"

 FFmpevubeg.executeAsync(cmd, callback)
 }

 companion object {
 private const val TAG = "BurstModeToVideo"
 }
}
</bitmap>


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 :


var vibe by remember {
 mutableStateOf(null)
 }

 val burstModeToVideo = BurstModeToVideo(
 context,
 onVideoConverted = {
 vibe = it
 }
 )
coroutineScope.launch {
 withContext(Dispatchers.IO) {
 burstModeToVideo.convertBitmapToJpeg(vibesList)
 burstModeToVideo.convertShotsToVideo()
 }
 }

VideoPlayer(vibe)



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


@OptIn(UnstableApi::class)
@Composable
fun VideoPlayer(file: File) {
 val context = LocalContext.current

 val exoPlayer = remember {
 ExoPlayer.Builder(context)
 .build()
 .apply {
 val defaultDataSourceFactory = DefaultDataSource.Factory(context)
 val dataSourceFactory: DataSource.Factory = DefaultDataSource.Factory(
 context,
 defaultDataSourceFactory
 )
 this.repeatMode = ExoPlayer.REPEAT_MODE_ALL
 this.playWhenReady = true
 val source = file.let {
 ProgressiveMediaSource.Factory(dataSourceFactory)
 .createMediaSource(MediaItem.fromUri(Uri.fromFile(file)))
 }
 this.setMediaSource(source)
 this.prepare()
 this.play()
 this.volume = 0f
 }
 }

 DisposableEffect(Unit) {
 onDispose {
 exoPlayer.release()
 }
 }

 AndroidView(
 factory = { ctx ->
 PlayerView(ctx).apply {
 useController = false
 resizeMode = AspectRatioFrameLayout.RESIZE_MODE_ZOOM
 player = exoPlayer
 }
 },
 modifier = Modifier.fillMaxSize()
 )
}



the error is :


MediaCodec will operate in async mode
2024-03-28 20:08:53.065 18946-27920 OplusCCodec com.example.flenzey D initiateShutdown [475]: (0xb400007656569fc0) keepComponentAllocated=0
2024-03-28 20:08:53.067 18946-27920 BpBinder com.example.flenzey I onLastStrongRef automatically unlinking death recipients: android.media.IResourceManagerService
2024-03-28 20:08:53.069 18946-27926 hw-BpHwBinder com.example.flenzey I onLastStrongRef automatically unlinking death recipients
2024-03-28 20:08:53.071 18946-27926 OplusCCodec com.example.flenzey D ~OplusCCodec [144]: (0xb400007656569fc0)
2024-03-28 20:08:53.077 18946-27889 MediaCodecRenderer com.example.flenzey W Failed to initialize decoder: c2.android.mpeg4.decoder
 java.lang.IllegalArgumentException
 at android.media.MediaCodec.native_configure(Native Method)
 at android.media.MediaCodec.configure(MediaCodec.java:2176)
 at android.media.MediaCodec.configure(MediaCodec.java:2092)
 at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:174)
 at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:54)
 at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:119)
 at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:117)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1195)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1103)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:551)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1560)
 at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1152)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:994)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:814)
 at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940)
 at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1102)
 at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541)
 at android.os.Handler.dispatchMessage(Handler.java:102)
 at android.os.Looper.loopOnce(Looper.java:238)
 at android.os.Looper.loop(Looper.java:349)
 at android.os.HandlerThread.run(HandlerThread.java:67)
2024-03-28 20:08:53.091 18946-27889 MediaCodecVideoRenderer com.example.flenzey E Video codec error
 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])
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1114)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:551)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1560)
 at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1152)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:994)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:814)
 at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940)
 at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1102)
 at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541)
 at android.os.Handler.dispatchMessage(Handler.java:102)
 at android.os.Looper.loopOnce(Looper.java:238)
 at android.os.Looper.loop(Looper.java:349)
 at android.os.HandlerThread.run(HandlerThread.java:67)
 Caused by: java.lang.IllegalArgumentException
 at android.media.MediaCodec.native_configure(Native Method)
 at android.media.MediaCodec.configure(MediaCodec.java:2176)
 at android.media.MediaCodec.configure(MediaCodec.java:2092)
 at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:174)
 at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:54)
 at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:119)
 at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:117)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1195)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1103)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:551) 
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1560) 
 at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1152) 
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:994) 
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:814) 
 at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940) 
 at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1102) 
 at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541) 
 at android.os.Handler.dispatchMessage(Handler.java:102) 
 at android.os.Looper.loopOnce(Looper.java:238) 
 at android.os.Looper.loop(Looper.java:349) 
 at android.os.HandlerThread.run(HandlerThread.java:67) 
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]
2024-03-28 20:08:53.108 18946-27889 ExoPlayerImplInternal com.example.flenzey E Playback error
 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
 at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:620)
 at android.os.Handler.dispatchMessage(Handler.java:102)
 at android.os.Looper.loopOnce(Looper.java:238)
 at android.os.Looper.loop(Looper.java:349)
 at android.os.HandlerThread.run(HandlerThread.java:67)
 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])
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1114)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:551)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1560)
 at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1152)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:994)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:814)
 at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940)
 at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1102)
 at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:541)
 at android.os.Handler.dispatchMessage(Handler.java:102) 
 at android.os.Looper.loopOnce(Looper.java:238) 
 at android.os.Looper.loop(Looper.java:349) 
 at android.os.HandlerThread.run(HandlerThread.java:67) 
 Caused by: java.lang.IllegalArgumentException
 at android.media.MediaCodec.native_configure(Native Method)
 at android.media.MediaCodec.configure(MediaCodec.java:2176)
 at android.media.MediaCodec.configure(MediaCodec.java:2092)
 at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.initialize(AsynchronousMediaCodecAdapter.java:174)
 at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter.access$100(AsynchronousMediaCodecAdapter.java:54)
 at androidx.media3.exoplayer.mediacodec.AsynchronousMediaCodecAdapter$Factory.createAdapter(AsynchronousMediaCodecAdapter.java:119)
 at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:117)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1195)
 at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1103)



can anybody solve it


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