Android 从ip摄像头播放视频流';s与ts文件的m3u8播放列表

Android 从ip摄像头播放视频流';s与ts文件的m3u8播放列表,android,stream,ip-camera,m3u8,mpeg-2,Android,Stream,Ip Camera,M3u8,Mpeg 2,我在开发用于ip摄像头的小型apk时遇到问题。我可以从apple()播放测试视频,但无法从我的cam播放.m3u8。 文件的地址是ip_address/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-00

我在开发用于ip摄像头的小型apk时遇到问题。我可以从apple()播放测试视频,但无法从我的cam播放.m3u8。 文件的地址是ip_address/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的Im。 有人知道怎么了吗

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
01-05 04:19:15.223:E/Trace(16138):打开跟踪文件时出错:没有这样的文件或目录(2)
01-05 04:19:15.223:D/ActivityThread(16138):设置目标应用程序利用率:0.25
01-05 04:19:15.223:D/ActivityThread(16138):SetTargetTheApidealFree:8388608
01-05 04:19:15.223:D/ActivityThread(16138):设置目标APCONcurrentStart: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)::EGL 1.4QUALCOMMbuild(合并)
01-05 04:19:17.303:I/Adreno200 EGL(16138):建造日期:2013年9月7日星期二
01-05 04:19:17.303:I/Adreno200 EGL(16138):当地分行:AU_41
01-05 04:19:17.303:I/Adreno200 EGL(16138):远程分支:
01-05 04:19:17.303:I/Adreno200 EGL(16138):局部贴片:
01-05 04:19:17.303:I/Adreno200 EGL(16138):重建分支:
01-05 04:19:17.593:D/OpenGLRenderer(16138):启用调试模式0
01-05 04:19:17.613:E/MediaPlayer(16138):Uri为
01-05 04:19:17.613:D/MediaPlayer(16138):无法在客户端打开文件,正在尝试服务器端
01-05 04:19:17.623:I/编舞(16138):跳过37帧!应用程序可能在其主线程上做了太多工作。
01-05 04:19:17.983:D/MediaPlayer(16138):获取元数据
01-05 04:19:17.983:D/MediaPlayer(16138):开始()mUri是
01-05 04:19:18.083:E/MediaPlayer(16138):错误(1,-1007)
01-05 04:19:18.083:E/MediaPlayer(16138):错误(1,-1007)
01-05 04:19:18.083:D/VideoView(16138):错误:1,-1007
它表示文件不在那里-文件与播放列表(ip/web/)位于同一位置。我可以直接用chrome“捕捉”它们。视频编解码器为H264 MPEG-4 AVC,分辨率为640x352

摄像头网页,获取如下列表:

img2345.src=“/list.m3u8?”+(新日期()).getTime()


错误-1007媒体错误\u格式不正确

Android仅支持H.264 AVC的
基线
配置文件。如果编码未使用基线配置文件,则可能无法播放

要检查编码,请使用
.ts
段,并使用
ffprobe
MediaInfo
或类似工具查看编码,然后检查配置文件


很难回答的问题。我建议您设置一个测试项目,将其中一个文件直接下载到SD卡,然后尝试从那里播放。如果仍然无法播放,则问题显然不是网络访问或处理m3u8。请记住,TS文件只是一个容器,根据其包含的流的类型,可能兼容也可能不兼容-特别是比特率、样本大小等可能是导致播放问题的因素。感谢您的回答-我这样做了,并收到了相同的错误,此外,无法创建MediaPlayer。如果您是如此善良,并有知识,您能告诉我如何处理播放列表文件吗?它不断变化,而不是使用“-1”作为视频长度-安卓自己负责吗?对不起,有新来的问题