我在开发小apk以与我的网络摄像机一起使用时遇到问题。我可以从苹果(http://devimages.apple.com/iphone/samples/bipbop/gear4/prog_index.m3u8)播放测试视频,但无法从摄像头播放.m3u8。文件的地址是 ip_adress/web/list.m3u8,我可以在 chrome 中访问它而无需身份验证。List.m3u8 看起来像这样:
EXTM3U
EXT-X-TARGETDURATION:2
EXT-X-MEDIA-SEQUENCE:1581
EXTINF:2,
HLS-0001581.ts
EXTINF:2,
HLS-0001582.ts
EXTINF:2,
HLS-0001583.ts
据我了解,错误"无法播放该视频"不是来自 m3u8,而是来自 .ts 文件。这是对的吗?我可以怎么做才能在我的 apk 中播放 .ts 文件?我支持使用android 4.1.2和MPEG-2 TS。有没有人知道出了什么问题?
01-05 04:19:15.223: E/Trace(16138): error opening trace file: No such file or directory (2)
01-05 04:19:15.223: D/ActivityThread(16138): setTargetHeapUtilization:0.25
01-05 04:19:15.223: D/ActivityThread(16138): setTargetHeapIdealFree:8388608
01-05 04:19:15.223: D/ActivityThread(16138): setTargetHeapConcurrentStart:2097152
01-05 04:19:17.153: D/libEGL(16138): loaded /system/lib/egl/libEGL_adreno200.so
01-05 04:19:17.303: D/libEGL(16138): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
01-05 04:19:17.303: D/libEGL(16138): loaded /system/lib/egl/libGLESv2_adreno200.so
01-05 04:19:17.303: I/Adreno200-EGL(16138): <qeglDrvAPI_eglInitialize:299>: EGL 1.4QUALCOMMbuild(Merge)
01-05 04:19:17.303: I/Adreno200-EGL(16138): Build Date: 07/09/13 Tue
01-05 04:19:17.303: I/Adreno200-EGL(16138): Local Branch: AU_41
01-05 04:19:17.303: I/Adreno200-EGL(16138): Remote Branch:
01-05 04:19:17.303: I/Adreno200-EGL(16138): Local Patches:
01-05 04:19:17.303: I/Adreno200-EGL(16138): Reconstruct Branch:
01-05 04:19:17.593: D/OpenGLRenderer(16138): Enabling debug mode 0
01-05 04:19:17.613: E/MediaPlayer(16138): Uri is <URL suppressed>
01-05 04:19:17.613: D/MediaPlayer(16138): Couldn't open file on client side, trying server side
01-05 04:19:17.623: I/Choreographer(16138): Skipped 37 frames! The application may be doing too much work on its main thread.
01-05 04:19:17.983: D/MediaPlayer(16138): getMetadata
01-05 04:19:17.983: D/MediaPlayer(16138): start() mUri is <URL suppressed>
01-05 04:19:18.083: E/MediaPlayer(16138): error (1, -1007)
01-05 04:19:18.083: E/MediaPlayer(16138): Error (1,-1007)
01-05 04:19:18.083: D/VideoView(16138): Error: 1,-1007
它说文件不存在 - 文件与播放列表(ip/web/)位于同一位置。我能够直接在铬中"捕获"它们。视频编解码器为H264 MPEG-4 AVC,分辨率为640x352。
相机网页,得到这样的列表:
img2345.src = "/list.m3u8?" + (new Date()).getTime();
错误 -1007MEDIA_ERROR_MALFORMED。
Android 仅支持 H.264 AVC 的Baseline
配置文件。如果您的编码不使用基线配置文件,则可能无法播放它。
要检查.ts
段的编码,请使用ffprobe
或MediaInfo
或类似内容查看它并检查配置文件。
安卓支持的媒体格式
媒体资讯