Android MediaPlayer错误(1,-2147483648)

我有两个要尝试加载到VideoView使用中的视频


videoView.setVideoURI(Uri.parse(url));

这两个视频分别为视频1和视频2,它们具有以下规格(使用提取ffmpeg -i);实际上,它们是同一视频的两种不同编码:


影片1:


Seems stream 0 codec frame rate differs from container frame rate: 180000.00 (180000/1) -> 90000.00 (180000/2)

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '4fbfd5ece4b0932236fc234d.mp4':

  Metadata:

    major_brand     : mp42

    minor_version   : 0

    compatible_brands: mp42isomavc1

    creation_time   : 2011-12-03 04:43:46

    genre           : Trailer

    artist          : Paramount Pictures

    title           : Captain America: The First Avenger - Theatrical Trailer #2

    encoder         : HandBrake 4344svn 2011111001

    date            : 2011

  Duration: 00:02:30.67, start: 0.000000, bitrate: 6738 kb/s

    Stream #0.0(und): Video: h264 (High), yuv420p, 1920x800 [PAR 1:1 DAR 12:5], 6575 kb/s, 23.97 fps, 90k tbr, 90k tbn, 180k tbc

    Metadata:

      creation_time   : 2011-12-03 04:43:46

    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 159 kb/s

    Metadata:

      creation_time   : 2011-12-03 04:43:46

视频2:


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '500416ea44aeb4b95d5ae8a0_hd.mp4':

  Metadata:

    major_brand     : isom

    minor_version   : 512

    compatible_brands: isomiso2avc1mp41

    creation_time   : 2011-12-03 04:43:46

    title           : Captain America: The First Avenger - Theatrical Trailer #2

    artist          : Paramount Pictures

    date            : 2011

    encoder         : Lavf53.32.100

    genre           : Trailer

  Duration: 00:02:30.69, start: 0.000000, bitrate: 2045 kb/s

    Stream #0.0(und): Video: h264 (High), yuv420p, 1280x720 [PAR 27:20 DAR 12:5], 1889 kb/s, 23.99 fps, 90k tbr, 180k tbn, 180k tbc

    Metadata:

      creation_time   : 2011-12-03 04:43:46

    Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 151 kb/s

    Metadata:

      creation_time   : 2011-12-03 04:43:46


根据我的阅读,错误(1,-2147483648)可能对应于不受支持的编解码器,损坏的元数据或错误的文件头。如果是这样,您能为我指出使用哪种编解码器的正确方向吗?谢谢。



呼唤远方
浏览 1709回答 3
3回答

翻过高山走不出你

我正面临着在Android P(像素2 XL)相同的错误,但我需要做的就是把android:usesCleartextTraffic="true"我的AndroidManifest.xml应用程序标签。

梵蒂冈之花

对于流式传输,Android网站上有一条注释:对于3GPP和MPEG-4容器,moov原子必须在任何mdat原子之前,但必须在ftyp原子之后。在移动moov原子之前,我遇到了同样的错误。为了解决这个问题,您可以将mp4Box与以下命令配合使用:MP4Box -hint output.mp4 之后,我的大部分视频都可以流式传输了。如果不起作用,请尝试使用ffmpeg进行此操作:ffmpeg -i input.flv -f mp4 -vcodec libx264 -vprofile baseline -acodec libfaac -ar 16k -ab 32k output.mp4MP4Box -hint output.mp4 您还可以在这里找到其他工具。
打开App,查看更多内容
随时随地看视频慕课网APP