
Recherche avancée
Autres articles (35)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Les images
15 mai 2013 -
Taille des images et des logos définissables
9 février 2011, parDans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...)
Sur d’autres sites (2519)
-
VP8 for Real-time Video Applications
15 février 2011, par noreply@blogger.com (John Luther)With the growing interest in videoconferencing on the web platform, it’s a good time to explore the features of VP8 that make it an exceptionally good codec for real-time applications like videoconferencing.
VP8 Design History & Features
Real-time applications were a primary use case when VP8 was designed. The VP8 encoder has features specifically engineered to overcome the challenges inherent in compressing and transmitting real-time video data.
- Processor-adaptive encoding. 16 encoder complexity levels automatically (or manually) adjust encoder features such as motion search strategy, quantizer optimizations, and loop filtering strength.
- Encoder can be configured to use a target percentage of the host CPU.
Ability to measure the time taken to encode each frame and adjust encoder complexity dynamically to keep the encoding time per frame constant - Robust error recovery (packet retransmission, forward error correction, recovery frame/new keyframe requests)
- Temporal scalability (i.e., a single video bitstream that can degrade as needed depending on a participant’s available bandwidth)
- Highly efficient decoding performance on low-power devices. Conventional video technology has grown to a state of complexity where dedicated hardware chips are needed to make it work well. With VP8, software-based solutions have proven to meet customer needs without requiring specialized hardware.
For a more information about real-time video features in VP8, see the slide presentation by WebM Project engineer Paul Wilkins (PDF file).
Commercially Available Products
Millions of people around the world have been using VP7/8 for video chat for years. VP8 is deployed in some of today’s most popular consumer videoconferencing applications, including Skype (group video calling), Sightspeed, ooVoo and Logitech Vid. All of these vendors are active WebM project supporters. VP8’s predecessor, VP7, has been used in Skype video calling since 2005 and is supported in the new Skype app for iPhone. Other real-time VP8 implementations are coming soon, including ooVoo, and VP8 will play a leading role in Google’s plans for real-time applications on the web platform.
Real-time applications will be extremely important as the web platform matures. The WebM community has made significant improvements in VP8 for real-time use cases since our launch and will continue to do so in the future.
John Luther is Product Manager of the WebM Project.
-
Reduce write time in stdin stream
20 décembre 2020, par گورو سینیI'm trying to record the web page with puppeteer. For that I'm using the same approach as puppeteer-recorder ie taking the screenshot for each frame and writing to the spawned ffmpeg's stdin stream with slight modifications.


The average time taken for screenshot per frame comes between 1-2ms but the average time to write the screenshot data into stream comes to be 290-300ms per frame.


const ffmpeg = spawn(ffmpegPath, ffmpegArgs(30));

for (let i = 1; i <= totalFrames; i++) {
 let screenshot = await page.screenshot({ omitBackground: true }); --> 1ms
 await write(ffmpeg.stdin, screenshot); --> 290ms
}

ffmpeg.stdin.end();


const write = (stream, buffer) =>
 new Promise((resolve, reject) => {
 stream.write(buffer, error => {
 if (error) reject(error);
 else resolve();
 });
});


const ffmpegArgs = fps => [
 '-y', '-f', 'image2pipe',
 '-r', `${+fps}`,
 '-i', '-',
 '-c:v', 'libx264',
 '-auto-alt-ref', '0',
 '-s:v', '1280x720',
 '-crf', '20',
 '-pix_fmt', 'yuv420p',
 '-metadata:s:v:0', 'alpha_mode="1"',
 '-tune', 'stillimage', 
 '-movflags', '+faststart', 'output.avi'
];



Is there any way to reduce the time taken while writing ? Thanks.


-
Fix encoder real-time only configuration.
10 janvier 2011, par Attila NagyFix encoder real-time only configuration.