
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (28)
-
MediaSPIP Player : problèmes potentiels
22 février 2011, parLe lecteur ne fonctionne pas sur Internet Explorer
Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (3524)
-
ffmpeg errors out with Error initializing output stream 0:0 for the setting `-profile:v main`
17 octobre 2020, par Vishwasa Navada KWe are using ffmpeg for generating HSL streaming files (.m3u8, .ts) from multiple type of input video and audio like avi, mp4, mp3, mkv, m4a etc. We are trying to encode everything into h264 streams to support modern browsers. But we are facing issues in converting few videos of type avi and mp4 (not all). Below is the ffmpeg command (it's using ffmpeg fluent on NodeJS).


ffmpeg(fileName)
 .outputOptions([
 '-c:v h264',
 '-profile:v main',
 `-vf scale=1280:-2`,
 '-hls_list_size 0',
 '-start_number 0',
 '-hls_time 10',
 '-loglevel error',
 ])
 .output(output_file_path)



When we try to run this with some set of specific avi and mp4 samples, it errors out saying

Error: ffmpeg exited with code 1: 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
.

I tried changing few commands (like providing crf value) and tried to run them, The only time it successfully converted converted them was when I removed the output option
-profile:v main
. I am not sure about the reason behind it.

I ran ffprobe to get the information from the videos that were not able to generate streams. I have them uploaded to gist here : https://gist.github.com/vishwasnavadak/91b5c978e2a3cb7a7c7a2bb505487263


Is there something I am missing ? What is the reason for it to error out when
-profile:v main
option is present ?

-
How do I calculate optimal dimensions and bitrate for displaying a video on an iPhone ?
6 février 2020, par wachutuI’m currently developing a mobile app that will have a library of 2-5 minute videos (approx 100 in total) and going through the process of determining which versions of the videos to have ready to serve to different mobile devices. In my research, I have noticed that there is a lot of room to play with video settings such as dimensions and bitrate.
As a first test, I am attempting to find the minimum video size I can deliver to an iPhone XS with dimensions 1125x2436 without losing any noticeable quality. I started by scaling the video to 1125x2436 and creating versions with 5 different bitrates ranging from 500kbps-4400kbps. I noticed that at 1500kbps, the video looks great and the size is cut 1/3 so that was a good start.
Then after doing some reading, I saw that in adaptive bitrate scenarios Apple recommends delivering video of lower bitrate AND lower resolution. So in my next test I just cut both in half - scaled to 562x1218 and bitrate at 750kbps and noticed the video also looked great on the iPhone. So 1125x2436 at 750kbps looks bad, but 562x1218 at 750kbps looks great on the same device. To some extent this makes sense to me as you need less bits to fill a smaller screen but what I’m not understanding is how the scaling plays a factor. Shouldn’t it essentially pixelate because the resolution is 1/2 of the iPhone dimensions ? And at a higher level, is there a somewhat concrete way to figure out this optimal resolution / bitrate balance given the dimensions of a device ? We want to most modern smartphones (iPhone 6 and later, Samsung Galaxy, etc.) so we need to be prepared for a range of dimensions (aspect ratios 9:16 or 6:13).
-
A Better Process Runner
1er janvier 2011, par Multimedia Mike — PythonI was recently processing a huge corpus of data. It went like this : For each file in a large set, run
'cmdline-tool <file>'
, capture the output and log results to a database, including whether the tool crashed. I wrote it in Python. I have done this exact type of the thing enough times in Python that I’m starting to notice a pattern.Every time I start writing such a program, I always begin with using Python’s commands module because it’s the easiest thing to do. Then I always have to abandon the module when I remember the hard way that whatever ’cmdline-tool’ is, it might run errant and try to execute forever. That’s when I import (rather, copy over) my process runner from FATE, the one that is able to kill a process after it has been running too long. I have used this module enough times that I wonder if I should spin it off into a new Python module.
Or maybe I’m going about this the wrong way. Perhaps when the data set reaches a certain size, I’m really supposed to throw it on some kind of distributed cluster rather than task it to a Python script (a multithreaded one, to be sure, but one that runs on a single machine). Running the job on a distributed architecture wouldn’t obviate the need for such early termination. But hopefully, such architectures already have that functionality built in. It’s something to research in the new year.
I guess there are also process limits, enforced by the shell. I don’t think I have ever gotten those to work correctly, though.