Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use FFmpeg::Stream::Helper;
- use Mojolicious::Lite;
- use Mojo::IOLoop::ReadWriteFork;
- get '/' => sub {
- my $c = shift;
- $c->render(template=>'root');
- };
- get '/video.mp4' => sub {
- my $self = shift->render_later;
- my $fork = Mojo::IOLoop::ReadWriteFork->new;
- my $fsh=FFmpeg::Stream::Helper->new;
- my $command=$fsh->command('/arc/video/movies/Fear and Loathing in Las Vegas.avi');
- $self->stash(fork => $fork);
- $self->on(finish => sub {
- my $self = shift;
- my $fork = $self->stash('fork') or return;
- app->log->debug("Ending ffmpeg process");
- $fork->kill;
- });
- $fork->on(read => sub {
- my($fork, $buffer) = @_;
- $self->write_chunk($buffer);
- });
- warn ($command);
- $fork->start(program => $command);
- };
- app->start;
- __DATA__
- @@ root.html.ep
- <!DOCTYPE html>
- <html>
- <body>
- <div style="text-align:center">
- <video id="video0" controls>
- <source src="video.mp4" type="video/mp4">
- Your browser does not support HTML5 video.
- </video>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement