从ip camera使用ts文件的m3u8播放列表播放视频流

时间:2015-01-05 03:30:57

标签: android stream ip-camera m3u8 mpeg-2

我在使用我的ip camera开发小型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 /)位于同一位置。我能够&#34;赶上&#34;他们直接镀铬。视频编解码器是H264 MPEG-4 AVC,分辨率为640x352。

相机网页,获取如下列表:

  

img2345.src =&#34; /list.m3u8?&#34; +(new Date())。getTime();

1 个答案:

答案 0 :(得分:0)

错误 -1007 MEDIA_ERROR_MALFORMED

Android仅支持H.264 AVC的Baseline个人资料。如果您的编码不使用Baseline配置文件,则可能无法播放它。

要检查.ts细分受众群的编码情况,请使用ffprobeMediaInfo或类似情况进行查看,然后检查个人资料。

Android Supported Media Formats

MediaInfo