
Recherche avancée
Autres articles (104)
-
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Soumettre améliorations et plugins supplémentaires
10 avril 2011Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...) -
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
Sur d’autres sites (7405)
-
how to download portion of video which was uploaded into AWS s3 bucket, though Nodejs SDKs
22 février 2024, par rama rangeswara reddyI have uploaded a 1GB .mp4 file to an AWS S3 bucket. Using the AWS-SDK provided by the npm package, I am able to download the entire video. However, I have a specific requirement to generate a thumbnail at the 6-second mark of the video. Currently, I download the entire 1GB video to my local machine and then generate the thumbnail at the desired duration.


To optimize server resources and reduce disk load, I plan to download only the first 10 seconds of the video, which should be approximately 10MB or less in size. By doing so, I can significantly reduce download time and server load while still fulfilling my requirement of generating the thumbnail at the 6-second mark. Therefore, instead of downloading the entire 1GB video, I aim to download only the 10MB segment corresponding to the first 10 seconds of the video.


I am using nodejs, expressJS, as backed Technologies.


`


`async function downloadS3FileToLocalDirAndReturnPath(videoKey) {
 return new Promise(async (resolve, reject) => {
 try {
 AWS.config.update({
 accessKeyId: config.AWS.KEYS.accessKeyId,
 secretAccessKey: config.AWS.KEYS.secretAccessKey,
 region: config.AWS.KEYS.region,
 httpOptions: config.AWS.KEYS.httpOptions
 });
 const s3 = new AWS.S3();

 // Specify the local file path where you want to save the downloaded video
 const localFilePath = `${os.tmpdir()}/${Date.now()}_sre.mp4`;

 // Configure the parameters for the S3 getObject operation
 const params = {
 Bucket: config.AWS.S3_BUCKET,
 Key: videoKey
 };

 const result = await s3.getObject(params).promise();
 const fileContent = result.Body;
 fs.writeFileSync(localFilePath, fileContent);
 resolve(localFilePath);
 } catch (error) {
 reject(error);
 }
 });
}`



this code was working fine to download the whole video , but i need to download only first 10 seconds duration


S3 : How to do a partial read / seek without downloading the complete file ?


I tried this ,before posting this question with above post, video was downloading , it was not playing , by throwing this error , the file contains no playable streams


async function generateThumbnails(videoKey) {

const s3 = new AWS.S3();

const params = {
 Bucket: KEYS.bucket,
 Key: videoKey, // Specify the key of the video file in S3
 Range: `bytes=0-${1024 * 800}`, // Specify the range of bytes you want to retrieve
};

const file = fs.createWriteStream(`/tmp/${Date.now()}_rama.mp4`);

const s3Stream = s3.getObject(params).createReadStream();

s3Stream.pipe(file);

s3Stream.on("error", (error) => {
 console.log("Error Occured while File downloading!! ");
});

s3Stream.on("finish", () => {
 console.log("File downloaded Successfully ");
});



}


-
How to download .m3u8 in once time
11 octobre 2024, par Nabi K.A.Z.I have a
.m3u8
file on remote host, with contain fixed numbers of chunk.ts
file name, and not stream :


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:9.736,
media_0.ts
#EXTINF:9.96,
media_1.ts
#EXTINF:10.0,
media_2.ts
#EXTINF:10.0,
media_3.ts
#EXTINF:10.0,
media_4.ts
#EXTINF:10.2,
media_5.ts
#EXTINF:10.0,




When I use this command :



# ffmpeg -i "http://example.com/chunklist.m3u8" file.mp4

frame= 582 fps=9.4 q=28.0 size= 1536kB time=00:00:23.21 bitrate= 542.1kbits/s dup=2 drop=4 speed=0.375x




It works. But It get frame by frame video and very long time needed. (It takes time almost to playback the video.)



But since the path of all the
.ts
files are known. (http://example.com/media_0.ts, http://example.com/media_1.ts, ...) There must be a way to get and merge them all at the same time.


But How in
ffmpeg
directly ?!


EDIT (try a solution) :



For one solution, I know how can concatenation files with ffmpeg.



ffmpeg -i "concat:0.ts|1.ts|2.ts|3.ts|4.ts|5.ts" -c copy output.mp4




This ffmpeg command was great, and works in less 1 sec time !



So try to download all
.ts
files with CURL with this command :


curl \
http://example.com/media_0.ts -o 0.ts \
http://example.com/media_1.ts -o 1.ts \
http://example.com/media_2.ts -o 2.ts \
http://example.com/media_3.ts -o 3.ts \
http://example.com/media_4.ts -o 4.ts \
http://example.com/media_5.ts -o 5.ts




But you can see result :



% Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
100 687k 100 687k 0 0 75108 0 0:00:09 0:00:09 --:--:-- 74111
100 652k 100 652k 0 0 59404 0 0:00:11 0:00:11 --:--:-- 53400
100 673k 100 673k 0 0 48675 0 0:00:14 0:00:14 --:--:-- 55781
100 657k 100 657k 0 0 63573 0 0:00:10 0:00:10 --:--:-- 62494
100 671k 100 671k 0 0 39019 0 0:00:17 0:00:17 --:--:-- 40863
100 692k 100 692k 0 0 63480 0 0:00:11 0:00:11 --:--:-- 80049




See, total download time was 72 sec, while the total duration of all parts is 59 sec ! that this time is very long !



So sorry, download all parts and then concat that, was not good solution.



EDIT 2



I try for another
.m3u8
file on the another server with difference URL :


Download and concat together :



ffmpeg -i "concat:\
http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_0.ts|\
http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_1.ts|\
http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_2.ts|\
http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_3.ts|\
http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_4.ts|\
http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_5.ts\
" -c copy -y output.ts




Another command with
input.txt
URLs file.


ffmpeg -f "concat" -i "input.txt" -c copy -y output.ts




input.txt file :



file 'http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_0.ts'
file 'http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_1.ts'
file 'http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_2.ts'
file 'http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_3.ts'
file 'http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_4.ts'
file 'http://184.72.239.149/vod/smil:BigBuckBunny.smil/media_w442897525_b560000_5.ts'




Or this command some time if needed :



ffmpeg -f "concat" -safe "0" -protocol_whitelist "file,http,https,tcp,tls" -i "input.txt" -c copy -y output.ts




Finally, for that download speed was good, MAYBE my server target has limited bandwidth. :-(


-
How to download a video from m3u8 with aes-128, IV with FFMPEG ? [closed]
13 avril 2021, par AWrrI've tried with a tutorial that prompted me to download the m3u8 file and then stream it with vlc but that didn't work. It just created a 160 bytes .mp4 file that couldn't be played.


When I opened it, it contains a line in the form of :


#EXT-X-KEY:METHOD=AES-128,URI="license://G",IV=0x08


I've read some threads talking aboout a .key file, but this one doesn't have a .key in the "URI=" section and I don't really knoe how to get one, if I needed it.


Will
ffmpeg -i playlist.m3u8 -c copy -bsf:a aac_adtstoasc output.mkv
work just fine ?

Edit : I've tried it and it showed this :


At the start

Unable to open key file


At the end


Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size= 494kB time=00:00:00.00 bitrate=N/A speed= 0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)```