import 'package:flutter/material.dart'; import 'package:flutter_vlc_player/flutter_vlc_player.dart'; class RtmpStreamScreen extends StatefulWidget { final String rtmpUrl; RtmpStreamScreen({required this.rtmpUrl}); @override _RtmpStreamScreenState createState() => _RtmpStreamScreenState(); } class _RtmpStreamScreenState extends State { late VlcPlayerController _videoPlayerController; @override void initState() { super.initState(); _videoPlayerController = VlcPlayerController.network( widget.rtmpUrl, options: VlcPlayerOptions(), ); } @override void dispose() { _videoPlayerController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('RTMP Live Stream')), body: Center( child: VlcPlayer( controller: _videoPlayerController, aspectRatio: 16 / 9, placeholder: Center(child: CircularProgressIndicator()), ), ), floatingActionButton: FloatingActionButton( onPressed: () { _videoPlayerController.play(); }, child: Icon(Icons.play_arrow), ), ); } }