
Recherche avancée
Médias (29)
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (54)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Encodage et transformation en formats lisibles sur Internet
10 avril 2011MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...)
Sur d’autres sites (15107)
-
Rails 5 - Video streaming using Carrierwave uploaded video size constraint on the server
21 mars 2020, par MilindI have a working Rails 5 apps using Reactjs for frontend and React dropzone uploader to upload video files using carrierwave.
So far, what is working great is listed below -
- User can upload videos and videos are encoded based on the selection made by user - HLS or MPEG-DASH for online streaming.
- Once the video is uploaded on the server, it starts streaming it by :-
- FIRST,copying video on
/tmp
folder. - Running a bash script that uses
ffmpeg
to transcode uploaded video using predefined commands to produce new fragments of videos inside/tmp
folder. - Once the background job is done, all the videos are uploaded on AWS S3, which is how the default
carrierwave
works
- FIRST,copying video on
- So, when multiple videos are uploaded, they are all copied in /tmp folder and then transcoded and eventually uploaded to
S3
.
My questions, where i am looking some help are listed below -
1- The above process is good for small videos, BUT what if there are many concurrent users uploading 2GB of videos ? I know this will kill my server as my
/tmp
folder will keep on increasing and consume all the memory, making it to die hard.How can I allow concurrent videos to upload videos without effecting my server’s memory consumption ?2- Is there a way where I can directly upload the videos on AWS-S3 first, and then use one more proxy server/child application to encode videos from S3, download it to the child server, convert it and again upload it to the destination ? but this is almost the same but doing it on cloud, where memory consumption can be on-demand but will be not cost-effective.
3- Is there some easy and cost-effective way by which I can upload large videos, transcode them and upload it to AWS S3, without effecting my server memory. Am i missing some technical architecture here.
4- How Youtube/Netflix works, I know they do the same thing in a smart way but can someone help me to improve this ?
Thanks in advance.
-
Pack ffmpeg executable insde myProject's executable to run
8 décembre 2023, par zurTLDR ;


I would like to pack the
ffmpeg
executable inside my own executable. Currently I am getting

FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'
Skipping ./testFile202312061352.mp4 due to FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'



Details :


I am creating executable file using following command :


pyinstaller cli.py \
 --onefile \
 --add-binary /Users/<machineuser>/anaconda3/envs/my_env/bin/ffmpeg:bin
</machineuser>


The code that uses
ffmpeg
is not authored by me. And I would like to keep that part the same. I hope that when I run from command line whileconda
environment is active I can successfully run it aspython
(or perhapsanaconda
) knows where the binaries are. May be there is some environment variable that is pointing to/Users/<machineuser>/anaconda3/envs/my_env/bin/</machineuser>
I have a pretty emptycli.py
. That seems to be the entry point and I hope if it is possible I can set thebin
directory's path there ...

I am able to successfully run the application like following :


(my_env) machineUser folder % "dist/cli_mac_001202312051431" ./testFile202312061352.mp4



I would like to run like following :


(base) machineUser folder % "dist/cli_mac_001202312051431" ./testFile202312061352.mp4



I would like to keep the world out side my executable's tmp folder the same. I would not want to change something that will be "left behind" after the exec is terminated.


Question :


Can some one please mention how to modify the
pyinstaller
command or what to change incli.py
to achieve it successfully ?

-
Live streaming multiple bitrates with FFmpeg and node.js
14 juillet 2014, par user2757842I am looking for an efficient way of transcoding a live stream and breaking it up into different bit rates, I have it working as of now but I have to state each time which video I would like to address as well as each different bit rate, example below :
var spawn = require('child_process').spawn;
/*
var ffmpeg = spawn('C:\\Users\\Jay\\Documents\\FFMPEG\\bin\\ffmpeg.exe', [
'-i',
'rtmp://192.168.201.8/livepkgr/livestream2 live=1',
'-movflags',
'isml+frag_keyframe',
'-f',
'ismv',
'http://192.168.201.237/LiveSmoothStreaming.isml/Streams(video2)'
]);
*/
var ffmpeg = spawn('C:\\Users\\Jay\\Documents\\FFMPEG\\bin\\ffmpeg.exe', [
'-i',
'rtmp://192.168.201.8/livepkgr/livestream live=1',
'-ac',
'2',
'-b:a',
'64k',
'-c:v',
'libx264',
'-b:v:0',
'150k' /* first bit rate i want */ ,
'-movflags',
'isml+frag_keyframe',
'-f',
'ismv',
'http://192.168.201.237/LiveSmoothStreaming2.isml/Streams(video1)',
'-c:v',
'libx264',
'-b:v:0',
'500k' /* second bit rate i want */ ,
'-movflags',
'isml+frag_keyframe',
'-f',
'ismv',
'http://192.168.201.237/LiveSmoothStreaming2.isml/Streams(video3)'
]);As you can see, this is not a very efficient way of doing it as this is only for 2 bit rates, I have to give a video name (video1, video 3 etc) each time I want a new bit rate and then I have to give it it’s bit rate (150k, 500k etc). If I wanted anymore bitrates, the code lines would go on and on and it would quickly become messy.
Has anyone worked within the world of Node.js and FFmpeg that could maybe point me in the direction of managing this more efficiently ? Or even link me to a page which would help me out ?
Cheers