
Recherche avancée
Autres articles (98)
-
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 (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (12453)
-
FFMPEG width not divisible by 2 (639x360)
5 octobre 2020, par yasgur99I am using python wrapper command of ffmepeg. I followed the tutorial from here for a "Production ready HLS" : https://docs.peer5.com/guides/production-ready-hls-vod/


This is my code :


subprocess.call(['ffmpeg', '-y', '-i', download_path,
 '-vf', 'scale=w=640:h=360:force_original_aspect_ratio=decrease', \
 '-c:a', 'aac', '-ar', '48000', '-c:v', 'h264', \
 '-profile:v', 'main', '-crf', '20', '-sc_threshold', '0', \
 '-g', '48', '-keyint_min', '48', '-hls_time', '4', \
 '-hls_playlist_type', 'vod', '-b:v', '800k', \
 '-maxrate', '856k', '-bufsize', '1200k', '-b:a', '96k', \
 '-hls_segment_filename', upload_path + \
 '/360p_%03d.ts', upload_path + '/360p.m3u8', \
 '-vf', 'scale=w=842:h=480:force_original_aspect_ratio=decrease', \
 '-c:a', 'aac', '-ar', '48000', '-c:v', 'h264', \
 '-profile:v', 'main', '-crf', '20', '-sc_threshold', '0', \
 '-g', '48', '-keyint_min', '48', '-hls_time', '4', \
 '-hls_playlist_type', 'vod', '-b:v', '1400k', \
 '-maxrate', '1498k', '-bufsize', '2100k', '-b:a', '128k', \
 '-hls_segment_filename', upload_path + \
 '/480p_%03d.ts', upload_path + '/480p.m3u8', \
 '-vf', 'scale=w=1280:h=720:force_original_aspect_ratio=decrease', \
 '-c:a', 'aac', '-ar', '48000', '-c:v', 'h264', \
 '-profile:v', 'main', '-crf', '20', '-sc_threshold', '0', \
 '-g', '48', '-keyint_min', '48', '-hls_time', '4', \
 '-hls_playlist_type', 'vod', '-b:v', '2800k', \
 '-maxrate', '2996k', '-bufsize', '4200k', '-b:a', '128k', \
 '-hls_segment_filename', upload_path + \
 '/720p_%03d.ts', upload_path + '/720p.m3u8', \
 '-vf', 'scale=w=1920:h=1080:force_original_aspect_ratio=decrease', \
 '-c:a', 'aac', '-ar', '48000', '-c:v', 'h264', \
 '-profile:v', 'main', '-crf', '20', '-sc_threshold', '0', \
 '-g', '48', '-keyint_min', '48', '-hls_time', '4', \
 '-hls_playlist_type', 'vod', '-b:v', '5000k', \
 '-maxrate', '5350k', '-bufsize', '7500k', '-b:a', '192k', \
 '-hls_segment_filename', upload_path + '/1080p_%03d.ts', upload_path + '/1080p.m3u8'])



And getting this output


[libx264 @ 0x7fb95500c800] width not divisible by 2 (639x360)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height



Any ideas of whats going wrong ?


-
Zlib vs. XZ on 2SF
I recently released my Game Music Appreciation website. It allows users to play an enormous range of video game music directly in their browsers. To do this, the site has to host the music. And since I’m a compression bore, I have to know how small I can practically make these music files. I already published the results of my effort to see if XZ could beat RAR (RAR won, but only slightly, and I still went with XZ for the project) on the corpus of Super Nintendo chiptune sets. Next is the corpus of Nintendo DS chiptunes.
Repacking Nintendo DS 2SF
The prevailing chiptune format for storing Nintendo DS songs is the .2sf format. This is a subtype of the Portable Sound Format (PSF). The designers had the foresight to build compression directly into the format. Much of payload data in a PSF file is compressed with zlib. Since I already incorporated Embedded XZ into the player project, I decided to try repacking the PSF payload data from zlib -> xz.In an effort to not corrupt standards too much, I changed the ’PSF’ file signature (seen in the first 3 bytes of a file) to ’psf’.
Results
There are about 900 Nintendo DS games currently represented in my website’s archive. Total size of the original PSF archive, payloads packed with zlib : 2.992 GB. Total size of the same archive with payloads packed as xz : 2.059 GB.Using xz vs. zlib saved me nearly a gigabyte of storage. That extra storage doesn’t really impact my hosting plan very much (I have 1/2 TB, which is why I’m so nonchalant about hosting the massive MPlayer Samples Archive). However, smaller individual files translates to a better user experience since the files are faster to download.
Here is a pretty picture to illustrate the space savings :
The blue occasionally appears to dip below the orange but the data indicates that xz is always more efficient than zlib. Here’s the raw data (comes in vanilla CSV flavor too).
Interface Impact
So the good news for the end user is that the songs are faster to load up front. The downside is that there can be a noticeable delay when changing tracks. Even though all songs are packaged into one file for download, and the entire file is downloaded before playback begins, each song is individually compressed. Thus, changing tracks triggers another decompression operation. I’m toying the possibility of some sort of background process that decompresses song (n+1) while playing song (n) in order to help compensate for this.I don’t like the idea of decompressing everything up front because A) it would take even longer to start playing ; and B) it would take a huge amount of memory.
Corner Case
There was at least one case in which I found zlib to be better than xz. It looks like zlib’s minimum block size is smaller than xz’s. I think I discovered xz to be unable to compress a few bytes to a block any smaller than about 60-64 bytes while zlib got it down into the teens. However, in those cases, it was more efficient to just leave the data uncompressed anyway. -
Revision f8630c78d1 : configure : remove php test + the remnants in the build system & README the doc
10 mai 2014, par James ZernChanged Paths :
Modify /README
Modify /configure
Modify /docs.mk
configure : remove php test+ the remnants in the build system & README
the documentation that required php was removed in :
50fa585 Removing examples code generation and making them static.Change-Id : Ibf00dca9ab2715fc21e8de358807b63d1445662c