【发布时间】:2015-09-18 18:49:09
【问题描述】:
我有一个视频播放器片段,可以使用视频视图和媒体播放器播放视频。我有用相机录制的视频。我正在将视频从 flv 风格转码为 mp4 风格,以便我可以在我的移动应用程序上运行它们。我检查了我的应用程序以播放 mp4 视频(示例视频),它可以完美播放,但是当我将 flv 视频转码为 mp4 时,mp4 版本也可以在浏览器和 VLC 媒体播放器上运行,但不能在我的 android 应用程序中运行。它显示了错误的视频长度(对于 2 分钟的视频,视频长度显示为 87.15 分钟)我看到导引头在移动,但再次在播放器中看不到任何东西,也听不到任何声音。下面是视频在转码前和转码后的 ffmpeg 信息以及错误日志。我可以看到错误 MediaPlayer: error (1, -2147483648) 正在引发。我检查了 stackoverflow 上的错误,并且按照谷歌的建议 MOOV atom 已到位。
请帮忙.......
转码前的ffmpeg信息
Input #0, flv, from '03c82713-f369-462c-b59a- 777a98fb12cc1435052031199':
Metadata:
encoder : Lavf56.25.101
Duration: 00:03:54.57, start: 0.000000, bitrate: 211 kb/s
Stream #0:0: Video: h264 (High), yuv420p, 688x360, 1000 kb/s, 30.30 fps, 30 tbr, 1k tbn, 60 tbc
Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s
转码后的ffmpeg信息
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'eb7e2f00-c61f-4308-8c86- 222868c03c131435746544880.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.25.101
Duration: 00:01:15.55, start: 0.036281, bitrate: 344 kb/s
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream #0:1(und): Video: h264 (High 10) (avc1 / 0x31637661), yuv420p10le, 426x240, 208 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
错误堆栈跟踪
07-01 19:46:26.501 22067-22067/com.project.test1.android E/MediaPlayer﹕ Should have subtitle controller already set
07-01 19:46:26.785 22067-22160/com.project.test1.android E/MediaPlayer﹕ error (1, -2147483648)
07-01 19:46:26.791 22067-22067/com.project.test1.android E/MediaPlayer﹕ Error (1,-2147483648)
07-01 19:46:31.651 22067-22067/com.project.test1.android E/MediaPlayer﹕ Attempt to call getDuration without a valid mediaplayer
07-0 1 19:46:31.651 22067-22067/com.project.test1.android E/MediaPlayer﹕ error (-38, 0)
07-01 19:46:31.662 22067-22067/com.project.test1.android E/MediaPlayer﹕ Error (-38,0)
07-01 19:46:31.684 22067-22067/com.project.test1.android E/MediaPlayer﹕ Attempt to call getDuration without a valid mediaplayer
07-01 19:46:31.684 22067-22067/com.project.test1.android E/MediaPlayer﹕ error (-38, 0)
07-01 19:46:31.692 22067-22067/com.project.test1.android E/MediaPlayer﹕ Attempt to call getDuration without a valid mediaplayer
07-01 19:46:31.692 22067-22067/com.project.test1.android E/MediaPlayer﹕ error (-38, 0)
07-01 19:46:31.708 22067-22067/com.project.test1.android E/MediaPlayer﹕ Error (-38,0)
07-01 19:46:31.708 22067-22067/com.project.test1.android E/MediaPlayer﹕ Error (-38,0)
【问题讨论】:
标签: android video-streaming android-mediaplayer android-videoview transcoding