我在IOS中发现了基于AVPlayer的flutter video_player,它不支持rtsp url。有人能告诉我如何在flutter中播放像'rstp/rtmp‘格式的视频吗?
发布于 2020-05-28 04:09:10
Flutter Vlc播放器包可以处理rtsp流。
这是自述文件部分中的示例,更改源地址的"urlToStreamVideo“值以对其进行测试。
import 'package:flutter/material.dart';
import 'package:flutter_vlc_player/flutter_vlc_player.dart';
class ExampleVideo extends StatefulWidget {
@override
_ExampleVideoState createState() => _ExampleVideoState();
}
class _ExampleVideoState extends State<ExampleVideo> {
final String urlToStreamVideo = 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_normal.mp4';
final VlcPlayerController controller = new VlcPlayerController(
// Start playing as soon as the video is loaded.
onInit: (){
controller.play();
}
);
final int playerWidth = 640;
final int playerHeight = 360;
@override
Widget build(BuildContext context) {
return Scaffold(
body: SizedBox(
height: playerHeight,
width: playerWidth,
child: new VlcPlayer(
aspectRatio: 16 / 9,
url: urlToStreamVideo,
controller: controller,
placeholder: Center(child: CircularProgressIndicator()),
)
)
);
}
}发布于 2020-08-04 14:42:51
我有一个类似的要求,我必须以最小的延迟显示来自IP摄像头的流。我尝试了很多开源播放器,但没有一个能够以200ms左右的延迟进行流媒体播放。
在互联网上彻底搜索,我发现了一些例子,涉及到在安卓上使用Native FFMPEG代码来接收和解码RTSP流,并使用NativeWindow接口直接在SurfaceView上呈现它。在此之后,我能够以最小的延迟获得流。
接下来,我将当前的实现(非常幼稚,但有助于入门)放在flutter插件中,代码可以在Github上找到
如果我们能进一步改进这个插件,让它成为一个完美的产品版本,那就太好了。
PS:插件目前只支持安卓,但我希望,iOS版本可以在类似的线路上开发。1:https://github.com/oneeyedraven/flutter_rtsp_ffmpeg
https://stackoverflow.com/questions/50611876
复制相似问题