Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Video returns as a 0 bytes file for high quality videos, specifically with videos with HEVC codec #193

Open
groverCG opened this issue Feb 16, 2024 · 0 comments

Comments

@groverCG
Copy link

I was doing some tests with this library in some videos recorded by a Samsung device and it is not working well. When I call the transcode method I got this error after a couple of seconds:

Java.Lang.IllegalArgumentException: Exception of type 'Java.Lang.IllegalArgumentException' was thrown.
  --- End of managed Java.Lang.IllegalArgumentException stack trace ---
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 com.otaliastudios.transcoder.internal.Codecs$encoders$1$lazyVideo$2.invoke(Codecs.kt:44)
	at com.otaliastudios.transcoder.internal.Codecs$encoders$1$lazyVideo$2.invoke(Codecs.kt:41)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
	at com.otaliastudios.transcoder.internal.Codecs$encoders$1.getLazyVideo(Codecs.kt:41)
	at com.otaliastudios.transcoder.internal.Codecs$encoders$1.get(Codecs.kt:50)
	at com.otaliastudios.transcoder.internal.Codecs$encoders$1.get(Codecs.kt:30)
	at com.otaliastudios.transcoder.internal.codec.Encoder.<init>(Encoder.kt:43)
	at com.otaliastudios.transcoder.internal.pipeline.PipelinesKt$VideoPipeline$1.invoke(pipelines.kt:64)
	at com.otaliastudios.transcoder.internal.pipeline.PipelinesKt$VideoPipeline$1.invoke(pipelines.kt:58)
	at com.otaliastudios.transcoder.internal.pipeline.Pipeline$Companion.build$lib_release(Pipeline.kt:62)
	at com.otaliastudios.transcoder.internal.pipeline.PipelinesKt.VideoPipeline(pipelines.kt:58)
	at com.otaliastudios.transcoder.internal.pipeline.PipelinesKt.RegularPipeline(pipelines.kt:47)
	at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine.createPipeline(DefaultTranscodeEngine.kt:82)
	at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine.access$createPipeline(DefaultTranscodeEngine.kt:27)
	at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine$segments$1.invoke(DefaultTranscodeEngine.kt:42)
	at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine$segments$1.invoke(DefaultTranscodeEngine.kt:42)
	at com.otaliastudios.transcoder.internal.Segments.tryCreateSegment(Segments.kt:87)
	at com.otaliastudios.transcoder.internal.Segments.next(Segments.kt:46)
	at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine.transcode(DefaultTranscodeEngine.kt:113)
	at com.otaliastudios.transcoder.internal.transcode.TranscodeEngine$Companion.transcode(TranscodeEngine.kt:48)
	at com.otaliastudios.transcoder.internal.transcode.TranscodeEngine.transcode(Unknown Source:2)
	at com.otaliastudios.transcoder.Transcoder$1.call(Transcoder.java:102)
	at com.otaliastudios.transcoder.Transcoder$1.call(Transcoder.java:99)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:920)

Trying to solve it I found that it happens with the HEVC codec, since it has a sort adaptive playback which changes the codec in the middle of the stream or something like that.

It would be nice if someone can help me with this, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant