deepmedia / deepmedia/Transcoder

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

Open
#193 1 comment 0 reactions 0 assignees View on GitHub
bug needs-info
Dominant language
Java
Stars
864
Forks
181
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.