
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (2)
-
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...) -
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)
Sur d’autres sites (2862)
-
FFMPEG FDKAAC and Python
3 avril 2024, par Eric BarkerBeen banging my head against the wall for days on this. I'm writing a python program to take a 48kHz WAV file, convert it to 44.1kHz and encode it to HE-AAC via FDKAAC. FDK cannot convert to sample rates, so I'm using FFMPEG as the wrapper and piping it through FDKAAC. In a perfect world, I'd make a custom build of FFMPEG with FKD, but I've run into loads of issues on our Windows Server 2019 machine trying to build out FFMPEG, so I'm using vanilla FFMPEG with FDK piped in.


I can get the command to work perfectly from a command prompt :


ffmpeg -progress pipe:2 -i -f wav -ar 44100 - | fdkaac -p 5 -b 64000 -o 



But when I try to split it in Python for a Popen, it tries to evaluate the arguments and fails because ffmpeg doesn't have a "-p" argument :


cmd = ['ffmpeg', '-progress', 'pipe:2', '-i', inFile, \
 '-f', 'wav', '-ar', '44100', '-', '|', \
 'fdkaac', '-p', '5', '-b', '64000', '-o', outFile]
fdkProcess = subprocess.Popen(cmd,
 stdout=subprocess.PIPE,
 universal_newlines=True)
for line in fdkProcess.stdout:
 print(line)



RESULT :


Unrecognized option 'p'.
Error splitting the argument list: Option not found



I'll admit, I don't fully understand the pipeline process, and how to split commands via the "|" flag, and have them properly feed into stdout for the subprocess function to work correctly. I'm fairly new to python, and very new to programmatically capturing the output of a process like ffmpeg.


-
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
-
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.