
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (42)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (7659)
-
MP4 file delays to play on browser (ffmpeg with movflags)
3 septembre 2021, par MakWe are trying to make FFMPEG to run with the "-movflags frag_keyframe+empty_moov" option. We do this because we don't have the input video file on a persistent disk, since we use serverless, and original video files are like 40GB+ (so we are basically streaming the video in fragments to ffmpeg and outputting the mp4 also in fragments).


The problem is, when we transcode files to mp4, the resulting mp4 files delays to start playing on browsers, it takes like 5 seconds on Chrome. (example mp4 file)


So we need to fix this so the mp4 files would play faster on the browser. (like a normal mp4).




ffmpeg -i [SIGNED_URL] -filter_complex "[0]scale=-1:360[s0]" -map "[s0]" -f mp4 -ac 1 -ar 44100 -b:a 128k -b:v 1M -bufsize 1M -c:a aac -c:v libx264 -maxrate 1M -movflags +faststart+frag_keyframe+empty_moov+default_base_moof -



-
How can a desktop node.js app play audio that may be controlled by the user like a media player ? [closed]
19 février, par eedefeedI'm building a playlist manager that plays music. How can Node.JS play audio files quickly, reliably and with all the basic level features you would expect from a media player, namely :


- 

- play
- pause
- seek
- stop
- adjust volume












I'm targetting windows/linux, but a Windows-only solution but be okay (for now.)


I have tried a number of libraries and methods to play audio but it seems none of them are good enough :


- 

- Audic : it's reasonably good, but buggy. The play and pause functions sometimes get switched around. I also recall that there are some issues with uncaught exceptions somewhere in the dependencies that crash the entire app.
- OBS : since the app is designed with broadcasting in mind, I've tried to use OBS's API to get it to play media. Unfortunately, it sometimes stops playback during some tracks, which is surprising since its underlying library, FFmpeg, plays them without issue.
- node-groove : seems like its underlying library, libgroove, only supports linux. I can't find any builds to download, regardless.








Attempts to use Speaker (which seems pretty good) have also failed because all the decoders have big issues :


- 

- Anything using lame - I want support for all audio, not specific formats.
- fluent-FFmpeg - this is a wrapper around FFmpeg's CLI interface. It has no play/pause function, but bonus library fluent-FFmpeg-util adds this feature. Unfortunately, its pause takes about 4 seconds to work, which I'm guessing is to do with a buffer being exhausted. This is just too latent. Seek would also work by stopping the CLI process and reloading the file, which seems massively inefficient.
- Node Vlc - promising but ancient library that gives me reams of node-gyp errors on install. Poorly documented and no explanation of what the library to do
- VLC Client - this library has uncaught exceptions that crash the app. Wrapping in try/catch doesn't help.
- sound play - doesn't support play/pause












NPM's search function is filled with audio players designed to work in browsers, but I'm not building a web app. I guess it's an option but it seems inelegant to the point of rediculous.


So it seems the best option centres around FFmpeg. FFmpeg has libraries, and I'm aware that node has ways to hook into those libraries via some sort of C or C++ compatibility layer. Unfortunately, official documentation is rather dense. Different unofficial guides seem to be recommending conflicting approaches (and might be dated), and it's difficult to work out whether myriad technologies are working in tandem or are alternatives, renames or replacements : node-gyp, node-api, addons, windows-build-tools, nan, C vs C++, Visual Studio. It's difficult to make any decisions or know where to start.


Perhaps, also, another option is to use a Python library to interact with FFmpeg, since initial searches have indicated this might be possible. I wouldn't know whether this is a good option.


So my question is : what's my best option to play audio ? Is it another NPM module that I'm not aware of ? Is it a compatibility layer with FFmpeg libraries ?


-
Why won't this encrypted HLS video play on iOS (but works on Windows Chrome via hls.js library) ?
8 mai 2023, par RyanI am trying to play an MP4 test video.


My
/home/vagrant/Code/example/public/hls_hls.keyInfo
is :

https://example.com/hls.key
/home/vagrant/Code/example/public/hls_hls.key
467216aae8a26fb699080812628031955e304a66e9e4480f9b70d31d8fe94e9a



My
/home/vagrant/Code/example/public/hls_hls.key
was generated using PHP :hex2bin('467216aae8a26fb699080812628031955e304a66e9e4480f9b70d31d8fe94e9a')


The ffmpeg command for encrypting the video as HLS playlist with "ts" files :


'/usr/bin/ffmpeg' '-y' '-i' 'storage/app/sample_media2/2020-02-27/Sample_Videos_5.mp4' 
'-c:v' 'libx264' '-s:v' '1920x1080' '-crf' '20' '-sc_threshold' '0' '-g' '48' 
'-keyint_min' '48' '-hls_list_size' '0' 
'-hls_time' '10' '-hls_allow_cache' '0' '-b:v' '4889k' '-maxrate' '5866k' 
'-hls_segment_type' 'mpegts' '-hls_fmp4_init_filename' 'output_init.mp4' 
'-hls_segment_filename' 'storage/app/public/test/output_1080p_%04d.ts' 
'-hls_key_info_file' '/home/vagrant/Code/example/public/hls_hls.keyInfo' 
'-strict' '-2' '-threads' '12' 'storage/app/public/test/output_1080p.m3u8'



Then, I know from https://caniuse.com/#search=hls that Windows Chrome won't be able to play the HLS video without a library, so I use https://github.com/video-dev/hls.js/, and Windows Chrome successfully plays the encrypted video !


However, iOS Safari is unable to play it (with or without the hls.js library).


On iOS Safari, when I try to play the video, I see just a quick glimpse (less than a second) where the screen shows 0:15, so it must be reading and decrypting enough to know the correct duration of the video.


So, to debug, I log events :


const nativeHlsEvents = ['play', 'playing', 'abort', 'error', 'canplaythrough', 'waiting', 'loadeddata', 'loadstart', 'progress', 'timeupdate', 'volumechange'];
$.each(nativeHlsEvents, function (i, eventType) {
 video.addEventListener(eventType, (event) => {//https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement
 console.log(eventType, event);
 if (eventType === 'error') {
 console.error(video.error);//https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/error
 }
 });
});



I see in the console log :


loadstart, {"isTrusted":true}
progress, {"isTrusted":true}
play, {"isTrusted":true}
waiting, {"isTrusted":true}
error, {"isTrusted":true}
video.error, {}



I don't know how to find more details about the error.


Note that even though Windows Chrome successfully plays the video, it too shows warnings in the console log :


{"type":"mediaError","details":"fragParsingError","fatal":false,"reason":"TS packet did not start with 0x47","frag":{"...
{"type":"mediaError","details":"fragParsingError","fatal":false,"reason":"no audio/video samples found","frag":{...



Where is my problem ?