
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (64)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (9708)
-
AudioContext HTML5 Player
15 février 2015, par PlytoSo I’ve been playing with the Web Audio API and have the following issue.
I am making a project in which I call an external library’s API with Ajax and get audio back (arraybuffer).
- I send them the text and get audio back.
- This is not necessarily a GET request (can be POST, etc.)
- If text is too large, I split it into smaller chunks and send multiple requests
So far so good, now comes the issue of how to play the multiple audios that I got back.
Since users do not care that I have split the text and actually have multiple audio tracks, I need somehow to make it look like a single track or as a playlist.
So I have tried to :
- merge arraybuffer (apparently it does not work like that and most likely I need ffmpeg or simiar tools to do the merging, which is hard to do on client-side ? (like there is ffmpeg for browsers, but I don’t know how good is it to burden a client with it). If it’s not so, maybe you can suggest something here)
- load it as a playlist, but so far cannot find a library that accepts multiple audiobuffers/audiocontexts and/or gives a playlist with it back.
The easiest solution that I see so far is to create my own small library that accepts AudioBuffers/arraybuffers and go either with the playlist approach or play the ’chunked’ audios one by one and make scrubber that jumps between audio contexts.
Is there a library/easier approach ?
Will be thankful for any suggestions :]
-
Flutter chewie video player shows incorrect duration for HLS stream
29 mai 2022, par magackameIm using SRS and ffmpeg to create a HLS video stream

I run SRS using docker command

docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/srs:4 ./objs/srs -c conf/docker.conf



And then post a stream using ffmpeg command


ffmpeg -re -i video.mp4 -c copy -f flv rtmp://localhost/live/livestream



To playback a video in flutter I use Chewie video player (
chewie: ^1.3.2
in pubspec.yaml) and this widget code :

import 'package:video_player/video_player.dart';
import 'package:chewie/chewie.dart';
import 'package:flutter/material.dart';

class RoomView extends StatefulWidget {
 const RoomView({Key? key}) : super(key: key);

 @override
 _RoomViewState createState() => _RoomViewState();
}

class _RoomViewState extends State<roomview> {
 late VideoPlayerController _videoController;
 late ChewieController _controller;

 @override
 void dispose() {
 _controller.dispose();
 _videoController.dispose();

 super.dispose();
 }

 @override
 void initState() {
 super.initState();

 _videoController = VideoPlayerController.network('http://localhost/live/livestream.m3u8')
 ..initialize().then((_) {
 setState(() {});
 });

 _controller = ChewieController(videoPlayerController: _videoController);
 }

 @override
 Widget build(BuildContext context) {
 return AspectRatio(
 aspectRatio:
 _controller.aspectRatio == null ? 16 / 9 : _controller.aspectRatio!,
 child: Chewie(controller: _controller));
 }
}
</roomview>


The video plays fine and seeking using the playback bar also works, but the video duration is incorrect. I tried streaming videos with different duration(the two minute and twenty minute ones), tried using mp4 and mkv formats as source and/or streaming using mpegts as output container(instead of flv) but all of them had a duration of either one minute or sometimes 10 seconds and the playbar will overflow when reaching the limit(showing something like 2:11/1:05).

When playing some public HLS streams(https://multiplatform-f.akamaihd.net/i/multi/will/bunny/big_buck_bunny_,640x360_400,640x360_700,640x360_1000,950x540_1500,.f4v.csmil/master.m3u8) the video duration is shown correctly so I guess the problem is either the SRS or the ffmpeg.

The question is what am I doing wrong, what parameters should I use for ffmpeg or SRS, and what are other options that I can use to provide a working HLS stream for the player

-
How to use youtube-dl to record live stream in parts
23 juillet 2021, par VikralJust wondering if that's possible or not to break an m3u8 live stream recording every hour and restart the recording again.


I don't want to press
Ctrl-C
every hour to stop the recording and restart it again to get a playable downloaded file. Instead, I want to automate this.

Does anyone know if that is possible ?