Mov for Android

发布于 2025-02-08 04:23:02 字数 3927 浏览 3 评论 0原文

我们正在使用视频播放器创建一个应用程序,但是我们无法流式移动文件。

我们正在使用EXO播放器进行流式传输,但会出现一些错误。请为此提供

任何其他支持图书馆的动作,也可以很好。

错误 :

E/ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.storeANWBufferInMetadata not implemented
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.storeANWBufferInMetadata not implemented
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.configureVideoTunnelMode not implemented
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.useAndroidNativeBuffer is supported
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.describeHDRStaticInfo not implemented
E/OMX-VDEC-1080P: Does not handle dataspace request
E/OMXNodeInstance: getConfig(2db0c3b:qcom.decoder.hevc, ??(0x7f000062)) ERROR: UnsupportedSetting(0x80001019)
E/OMXNodeInstance: setConfig(2db0c3c:google.aac.decoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
E/OMXNodeInstance: setConfig(2db0c3c:google.aac.decoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
E/OMX-VDEC-1080P: OMX_COMPONENT_GENERATE_HARDWARE_ERROR
E/OMX-VDEC-1080P: ERROR: Sending OMX_ErrorHardware to Client
E/ACodec: [OMX.qcom.video.decoder.hevc] ERROR(0x80001009)
E/ACodec: signalError(omxError 0x80001009, internalError -2147483648)
E/MediaCodec: Codec reported err 0x80001009, actionCode 0, while in state 6
E/OMX-VDEC-1080P: Dropping message 11 since client expected to be in error state
E/OMX-VDEC-1080P: Dropping message 11 since client expected to be in error state
E/OMX-VDEC-1080P: Dropping message 11 since client expected to be in error state
E/OMX-VDEC-1080P: Dropping message 11 since client expected to be in error state
E/ExoPlayerImplInternal: Internal runtime error.
    java.lang.IllegalStateException
        at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
        at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2568)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1033)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:582)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:518)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:301)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:165)
        at android.os.HandlerThread.run(HandlerThread.java:61)
E/ExoPlayerImplInternal: Stop failed.
    java.lang.IllegalStateException
        at android.media.MediaCodec.native_stop(Native Method)
        at android.media.MediaCodec.stop(MediaCodec.java:2005)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.releaseCodec(MediaCodecRenderer.java:527)
        at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.releaseCodec(MediaCodecVideoRenderer.java:477)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:483)
        at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:365)
        at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:153)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:972)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:768)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:731)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:353)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:165)
        at android.os.HandlerThread.run(HandlerThread.java:61)

We are creating one app with video player, but we are not able to stream mov files.

We are using Exo player for streaming but getting some error. please help on it

Any other mov supporting libraries also fine.

Error :

E/ANDR-PERF-MPCTL: Invalid profile no. 0, total profiles 0 only
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.storeANWBufferInMetadata not implemented
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.storeANWBufferInMetadata not implemented
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.configureVideoTunnelMode not implemented
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.useAndroidNativeBuffer is supported
E/OMX-VDEC-1080P: Extension: OMX.google.android.index.describeHDRStaticInfo not implemented
E/OMX-VDEC-1080P: Does not handle dataspace request
E/OMXNodeInstance: getConfig(2db0c3b:qcom.decoder.hevc, ??(0x7f000062)) ERROR: UnsupportedSetting(0x80001019)
E/OMXNodeInstance: setConfig(2db0c3c:google.aac.decoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
E/OMXNodeInstance: setConfig(2db0c3c:google.aac.decoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)
E/OMX-VDEC-1080P: OMX_COMPONENT_GENERATE_HARDWARE_ERROR
E/OMX-VDEC-1080P: ERROR: Sending OMX_ErrorHardware to Client
E/ACodec: [OMX.qcom.video.decoder.hevc] ERROR(0x80001009)
E/ACodec: signalError(omxError 0x80001009, internalError -2147483648)
E/MediaCodec: Codec reported err 0x80001009, actionCode 0, while in state 6
E/OMX-VDEC-1080P: Dropping message 11 since client expected to be in error state
E/OMX-VDEC-1080P: Dropping message 11 since client expected to be in error state
E/OMX-VDEC-1080P: Dropping message 11 since client expected to be in error state
E/OMX-VDEC-1080P: Dropping message 11 since client expected to be in error state
E/ExoPlayerImplInternal: Internal runtime error.
    java.lang.IllegalStateException
        at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
        at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2568)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1033)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:582)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:518)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:301)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:165)
        at android.os.HandlerThread.run(HandlerThread.java:61)
E/ExoPlayerImplInternal: Stop failed.
    java.lang.IllegalStateException
        at android.media.MediaCodec.native_stop(Native Method)
        at android.media.MediaCodec.stop(MediaCodec.java:2005)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.releaseCodec(MediaCodecRenderer.java:527)
        at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.releaseCodec(MediaCodecVideoRenderer.java:477)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:483)
        at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:365)
        at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:153)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:972)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:768)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:731)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:353)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:165)
        at android.os.HandlerThread.run(HandlerThread.java:61)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陌若浮生 2025-02-15 04:23:02

MOV文件是Apple开发的QuickTime Media容器格式,并与Macintosh和Windows平台兼容。 MOV文件广泛用于Apple产品,例如QuickTime,iPhone,iPad,但与Android设备不兼容。

Andriod本地没有这种功能。最简单的是使用视频解码/编码库,例如FFMPEG。请参阅以下内容:ffmpeg for a android(使用教程:“ ffmpeg和android.mk ”)

命令将其流式传输到某些应用程序所需的新容器(MP4),例如Adobe Premiere Pro,而无需编码(fast)(fast)是:

ffmpeg -i input.mov -qscale 0 output.mp4

如注释中所述的替代性,哪些重新编码使用最佳Quaility(-QScale 0):

ffmpeg -i input.mov -q:v 0 output.mp4

ffmpeg -i input.mov -qscale 0 output.mp4

A MOV file is a QuickTime media container format developed by Apple and compatible with both Macintosh and Windows platforms. MOV files are widely used in Apple products like QuickTime, iPhone, iPad, but is incompatible with Android device.

Andriod natively does not have such functionality. The easiest would be to use a video decoding/encoding library, such as ffmpeg. See this: ffmpeg for a android (using tutorial: "ffmpeg and Android.mk")

The command to just stream it to a new container (mp4) needed by some applications like Adobe Premiere Pro without encoding (fast) is:

ffmpeg -i input.mov -qscale 0 output.mp4

Alternative as mentioned in the comments, which re-encodes with best quaility (-qscale 0):

ffmpeg -i input.mov -q:v 0 output.mp4

or

ffmpeg -i input.mov -qscale 0 output.mp4
拿命拼未来 2025-02-15 04:23:02

.MOV文件不是Android支持的标准视频格式。根据您针对的Android版本,您需要将最有可能的格式更改为.mp4(H.263)。

如果您无法更改编码iOS中录制的视频的方式,则可能在将其发送到Android之前,可以在服务器端从.MOV到.mp4进行转换。 (假设您有服务器端)

您可以检查参考在这里。我希望它对您有帮助。

.MOV files are not a standard video format supported by Android. Depending on what Android versions you're targeting, you'll need to change your format most likely to .mp4 (H.263).

If you can't change the way you are encoding the video recorded in iOS, then maybe you can do a conversion on your server-side from .mov to .mp4, before sending it to Android. (Assuming you have a server-side)

You can check for the reference here. I hope it will help you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文