
Recherche avancée
Autres articles (40)
-
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...) -
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 (...) -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...)
Sur d’autres sites (5991)
-
ffmpeg - How to resize frame collage (grid of images) to grid of different dimensions, while respecting frame order ?
12 mars 2023, par JamesKI have an input of a "frame collage" (that is, frames extracted from a video, arranged in a certain grid). I want to rearrange the frames from a collage into a different grid shape. I can calculate the input coordinates (or bounds, e.g. x.min -> x.max, y.min -> y.max) and output coordinates for each frame. Basically, I want to resize a grid, while respecting the positioning of each element of the original grid.


As an example, given a frame collage that is 9x2 (9 columns wide, 2 rows tall), with image resolution of 1080x240 (width x height), resize the frame collage to be 6x3 (6 columns wide, 3 columns tall), with an image resolution of 720x480 (width x height), while respecting the order of the frames in the input image (left to right, top to bottom).


I generated the frame mappings (where the original frame was located, and where the new frame should be placed) for each frame, a table of that data is available here : https://pastebin.com/raw/a5UhKhek (posted on pastebin because discord would murder the formatting).


Does anyone have any ideas on how I might be able to pull this off ?


I've investigated the
tile
anduntile
filter, as well as looked into theselect
filter, although the syntax for the lattermost is a touch confusing to me.

-
Showing in-video visual progress bar with FFMPEG ?
20 mai 2024, par TaapoAs OBS Studio lacks a visual indicator to show how far a video has progressed (and when you need to advance to the next scene), I was wondering if there is a command-line option (or solution) to get FFMPEG to re-encode the video and show a progress bar at the bottom of the video that shows how long the video has been playing so far.


Is there such a feature ?


-
Split video with MobileFFmpeg
17 septembre 2020, par Vitor FerreiraI need to split a video into pieces smaller than 15 seconds using ffmpeg on android.


For this I am using this library to use FFmpeg and tried to use the code below, but it did not work.


private val destPath = "/storage/emulated/0/DCIM/TESTFOLDER"



if (video != null) {
 val command =
 "ffmpeg -i $video -c copy -map 0 -segment_time 00:00:15 -f segment $destPath output%03d.mp4"

 mProgressDialog.show()

 try {
 val executionId = FFmpeg.executeAsync(command) { _: Long, returnCode: Int ->
 when (returnCode) {
 RETURN_CODE_SUCCESS -> {
 mProgressDialog.dismiss()
 Toast.makeText(
 this,
 "Async command execution completed successfully",
 Toast.LENGTH_SHORT
 ).show()
 }
 RETURN_CODE_CANCEL -> {
 mProgressDialog.dismiss()
 Toast.makeText(
 this,
 "Async command execution cancelled by user.",
 Toast.LENGTH_SHORT
 ).show()
 }
 else -> {
 mProgressDialog.dismiss()
 Toast.makeText(
 this,
 "Async command execution failed",
 Toast.LENGTH_SHORT
 )
 .show()
 }
 }
 }
 } catch (e: Exception) {
 e.printStackTrace()
 Toast.makeText(this, e.message, Toast.LENGTH_SHORT).show()
 }
 }



I tried with
video = /data/user/0/com.vitor238.videoEditor/cache/e4c9d2f3-6127-43fa-a293-e0de614f4993.mp4
andvideo = content://media/external/video/media/187130
but neither worked.