Android 如何在media player中录制当前正在播放的实时视频流
我在谷歌上搜索了很多次,没有发现任何成功的地方,甚至连一个我可以开始的地方都没有。我正在使用VideoView从url播放视频,它成功地播放了视频,同时我想录制当前正在播放的视频。e、 g:Android 如何在media player中录制当前正在播放的实时视频流,android,video-streaming,Android,Video Streaming,我在谷歌上搜索了很多次,没有发现任何成功的地方,甚至连一个我可以开始的地方都没有。我正在使用VideoView从url播放视频,它成功地播放了视频,同时我想录制当前正在播放的视频。e、 g:http://ip/streamname/playlist.m3u8是url,我成功地观看了它,但我需要记录特定的流并保存它,以便以后观看。请向我推荐解决方案尝试使用此代码从url下载视频,请记住服务器必须支持从特定字节偏移量下载视频 private final int TIMEOUT_CON
http://ip/streamname/playlist.m3u8
是url,我成功地观看了它,但我需要记录特定的流并保存它,以便以后观看。请向我推荐解决方案尝试使用此代码从url下载视频,请记住服务器必须支持从特定字节偏移量下载视频
private final int TIMEOUT_CONNECTION = 5000;//5sec
private final int TIMEOUT_SOCKET = 30000;//30sec
URL url = new URL("Video URL");
// long startTime = System.currentTimeMillis();
// Log.i(TAG, "image download beginning: "+imageURL);
//Open a connection to that URL.
URLConnection ucon = url.openConnection();
//this timeout affects how long it takes for the app to realize there's a //connection problem
ucon.setReadTimeout(TIMEOUT_CONNECTION);
ucon.setConnectTimeout(TIMEOUT_SOCKET);
//Define InputStreams to read from the URLConnection.
// uses 3KB download buffer
InputStream is = ucon.getInputStream();
BufferedInputStream inStream = new BufferedInputStream(is, 1024 * 5);
FileOutputStream outStream = new FileOutputStream(file);
byte[] buff = new byte[5 * 1024];
//Read bytes (and store them) until there is nothing more to read(-1)
int len;
while ((len = inStream.read(buff)) != -1)
{
outStream.write(buff,0,len);
}
//clean up
outStream.flush();
outStream.close();
inStream.close();
Log.i(TAG, "download completed in "
+ ((System.currentTimeMillis() - startTime) / 1000)
+ " sec");5
您是否尝试使用MediaRecorder Api录制视频??这也让我们通过设置视频源方便地录制视频。我尝试了,但没有工作…好的,我会再试一次。但我怀疑能否将视频源设置为当前正在播放视频的url非常感谢..我将尝试下载该文件,但当我检查文件属性时,当我单击该文件播放器开始播放该文件时,它是0字节。但我观察到文件还是同一个流URL您的服务器支持下载吗?我不认为wowzo提供下载支持,尽管wowzo提供nDVR模块,以便最终用户可以快进、快退或播放/暂停视频。谢谢@yasiriqbal776。如何在视频中指定秒数?例如,假设我想在视频中间只保存5秒?