
Recherche avancée
Médias (1)
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
Autres articles (30)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
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 (4632)
-
aarch64 : h264pred : Optimize the inner loop of existing 8 bit functions
12 avril 2021, par Martin Storsjöaarch64 : h264pred : Optimize the inner loop of existing 8 bit functions
Move the loop counter decrement further from the branch instruction,
this hides the latency of the decrement.In loops that first load, then store (the horizontal prediction cases),
do the decrement after the load (where the next instruction would
stall a bit anyway, waiting for the result of the load).In loops that store twice using the same destination register,
also do the decrement between the two stores (as the second store
would need to wait for the updated destination register from the
first instruction).In loops that store twice to two different destination registers,
do the decrement before both stores, to do it as soon before the
branch as possible.This gives minor (1-2 cycle) speedups in most cases (modulo measurement
noise), but the horizontal prediction functions get a rather notable
speedup on the Cortex A53.Before : Cortex A53 A72 A73
pred8x8_dc_8_neon : 60.7 46.2 39.2
pred8x8_dc_128_8_neon : 30.7 18.0 14.0
pred8x8_horizontal_8_neon : 42.2 29.2 18.5
pred8x8_left_dc_8_neon : 52.7 36.2 32.2
pred8x8_mad_cow_dc_0l0_8_neon : 48.2 27.7 25.7
pred8x8_mad_cow_dc_0lt_8_neon : 52.5 33.2 34.7
pred8x8_mad_cow_dc_l0t_8_neon : 52.5 31.7 33.2
pred8x8_mad_cow_dc_l00_8_neon : 43.2 27.0 25.5
pred8x8_plane_8_neon : 112.2 86.2 88.2
pred8x8_top_dc_8_neon : 40.7 23.0 21.2
pred8x8_vertical_8_neon : 27.2 15.5 14.0
pred16x16_dc_8_neon : 91.0 73.2 70.5
pred16x16_dc_128_8_neon : 43.0 34.7 30.7
pred16x16_horizontal_8_neon : 86.0 49.7 44.7
pred16x16_left_dc_8_neon : 87.0 67.2 67.5
pred16x16_plane_8_neon : 236.0 175.7 173.0
pred16x16_top_dc_8_neon : 53.2 39.0 41.7
pred16x16_vertical_8_neon : 41.7 29.7 31.0After :
pred8x8_dc_8_neon : 59.0 46.7 42.5
pred8x8_dc_128_8_neon : 28.2 18.0 14.0
pred8x8_horizontal_8_neon : 34.2 29.2 18.5
pred8x8_left_dc_8_neon : 51.0 38.2 32.7
pred8x8_mad_cow_dc_0l0_8_neon : 46.7 28.2 26.2
pred8x8_mad_cow_dc_0lt_8_neon : 55.2 33.7 37.5
pred8x8_mad_cow_dc_l0t_8_neon : 51.2 31.7 37.2
pred8x8_mad_cow_dc_l00_8_neon : 41.7 27.5 26.0
pred8x8_plane_8_neon : 111.5 86.5 89.5
pred8x8_top_dc_8_neon : 39.0 23.2 21.0
pred8x8_vertical_8_neon : 27.2 16.0 14.0
pred16x16_dc_8_neon : 85.0 70.2 70.5
pred16x16_dc_128_8_neon : 42.0 30.0 30.7
pred16x16_horizontal_8_neon : 66.5 49.5 42.5
pred16x16_left_dc_8_neon : 81.0 66.5 67.5
pred16x16_plane_8_neon : 235.0 175.7 173.0
pred16x16_top_dc_8_neon : 52.0 39.0 41.7
pred16x16_vertical_8_neon : 40.2 33.2 31.0Despite this, a number of these functions still are slower than
what e.g. GCC 7 generates - this shows the relative speedup of the
neon codepaths over the compiler generated ones :Cortex A53 A72 A73
pred8x8_dc_8_neon : 0.86 0.65 1.04
pred8x8_dc_128_8_neon : 0.59 0.44 0.62
pred8x8_horizontal_8_neon : 1.51 0.58 1.30
pred8x8_left_dc_8_neon : 0.72 0.56 0.89
pred8x8_mad_cow_dc_0l0_8_neon : 0.93 0.93 1.37
pred8x8_mad_cow_dc_0lt_8_neon : 1.37 1.41 1.68
pred8x8_mad_cow_dc_l0t_8_neon : 1.21 1.17 1.32
pred8x8_mad_cow_dc_l00_8_neon : 1.24 1.19 1.60
pred8x8_plane_8_neon : 3.36 3.58 3.76
pred8x8_top_dc_8_neon : 0.97 0.99 1.43
pred8x8_vertical_8_neon : 0.86 0.78 1.18
pred16x16_dc_8_neon : 1.20 1.06 1.49
pred16x16_dc_128_8_neon : 0.83 0.95 0.99
pred16x16_horizontal_8_neon : 1.78 0.96 1.59
pred16x16_left_dc_8_neon : 1.06 0.96 1.32
pred16x16_plane_8_neon : 5.78 6.49 7.19
pred16x16_top_dc_8_neon : 1.48 1.53 1.94
pred16x16_vertical_8_neon : 1.39 1.34 1.98In particular, on Cortex A72, many of these functions are slower
than the compiler generated code, while they're more beneficial on
e.g. the Cortex A73.Signed-off-by : Martin Storsjö <martin@martin.st>
-
FFMPEG conversion (h.264) taking long time for short videos
15 février 2023, par SaraI am trying to record the video and upload into the aws s3 server. Vuejs as front end and php Laravel as backend, I was not using any conversion before saving it to s3. Due to this if any recording recorded from android cannot be played in apple device due to some codecs..
To over come this, I am using ffmpeg to encode in X264() format to make it play in apple and android device regardless on which device the recording is done.


1 min video taking 6-7 minutes using ffmpeg. I thought may be aws s3 taking time to save, i commented "saving to s3 bucket code" still very slow to save temp public folder in php.


please check the code if i am missing anything to make conversion quick. if any solution update answer with reference link or code snippet with reference to my code below.


public function video_upload(Request $request)
 {
 // Response Declaration 
 $response=array();
 $response_code = 200;
 $response['status'] = false;
 $response['data'] = [];
 // Validation
 // TODO: Specify mimes:mp4,webm,ogg etc 
 $validator = Validator::make(
 $request->all(), [
 'file' => 'required'
 ]
 );
 if ($validator->fails()) {
 $response['data']['validator'] = $validator->errors();
 return response()->json($response);
 }
 try{
 $file = $request->file('file');
 //convert
 $ffmpeg = FFMpeg\FFMpeg::create();
 $video = $ffmpeg->open($file);
 $format = new X264(); 
 //end convert
 $file_name = str_replace (' ', '-', Hash::make(time()));
 $file_name = preg_replace('/[^A-Za-z0-9\-]/', '',$file_name).'.mp4';
 
 $video->save($format, $file_name);
 $file_folder = 'uploads/video/';
 // Store the file to S3
 
 // $store = Storage::disk('s3')->put($file_folder.$file_name, file_get_contents($file));
 $store = Storage::disk('s3')->put($file_folder.$file_name, file_get_contents($file_name));
 if($store){
 // Replace old file if exist
 //delete the file from public folder
 $file = public_path($file_name);
 if (file_exists($file)) {
 unlink($file);
 }

 if(isset($request->old_file)){
 
 if(Storage::disk('s3')->exists($file_folder.basename($request->old_file))) {
 Storage::disk('s3')->delete($file_folder.basename($request->old_file));
 }
 }
 }
 $response['status'] = true;
 $response['data']= '/s3/'.$file_folder. $file_name;

 }catch (\Exception $e) {
 $response['data']['message']=$e->getMessage()."line".$e->getLine();
 $response_code = 400;
 }
 return response()->json($response, $response_code);
 }



Its blocking point for me. I cannot let user to wait 5-6 mins to upload 1 min video.


-
Encoding video for real time streaming
15 septembre 2019, par lilrooMiguel Grinberg’s article video streaming with flask, covers sending multiple JPG formatted images to a client through a multipart response to stream video to the browser.
After doing some reading, I quickly realized that MJPEG is not a real video format, JPEGs are not optimized for video streaming and MJPEG cannot be streamed to a HTML5 video element.
for my application (a screen sharing application written in python), I need to be able to encode and stream relatively smooth video (smoother than MJPEG anyway) in semi-realtime to the browser.
I think what I need to do is encode a video stream using a tool like FFmpeg and then send chunks of that output to a browser using a multipart response - however it doesn’t look like there is a way to get FFmpeg (using python bindings) to write to an in-memory buffer.
Is ffmpeg up to this task ?
I appreciate that this question may sound nieve, but I would be thankful for being pointed in the right direction.