
Recherche avancée
Autres articles (30)
-
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" (...) -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...)
Sur d’autres sites (3735)
-
Getting error "WebAssembly.Memory() : could not allocate memory" when running ffmpeg.wasm on android chrome browser
27 juin 2022, par Ravi KunduError in detail :


WebAssembly.Memory(): could not allocate memory
at https://*******/ffmpeg-core.js:22:82
at https://*******/ffmpeg.min.js:1:6506
at f (https://*******/ffmpeg.min.js:1:11322)
at Generator._invoke (https://*******/ffmpeg.min.js:1:11110)
at Generator.next (https://*******/ffmpeg.min.js:1:11747)
at i (https://*******/ffmpeg.min.js:1:4295)
at c (https://*******/ffmpeg.min.js:1:4498)



Code for ffmpeg :


const downloadWithFFMPEG = async () =>{
 const sourceBuffer = await fetch(recordingURL).then(r => r.arrayBuffer());
 await ffmpeg.load();
 await ffmpeg.FS(
 "writeFile",
 "input.webm",
 new Uint8Array(sourceBuffer, 0, sourceBuffer.byteLength)
 );
 await ffmpeg.run("-i", "input.webm", "-c", "copy", "output.mp4")
 const output = ffmpeg.FS("readFile", "output.mp4");
 var link = document.createElement('a')
 link.href = URL.createObjectURL(new Blob([output.buffer], { type: 'video/mp4;codecs=H264' }));
 link.download = this.data;
 link.click();
 recording = false;
}



Brief about problem :
The error only comes for android chrome browser. The same code works fine on pc/laptop chrome.
Have also enabled Webassembly-thread on chrome ://flags for android browser as someone suggested me to do it but still same error. Can someone help me ?


-
How to averagely extract frames from a video using ffmpeg by specifying "fps"
14 juin 2021, par alanzzzI have a job of using ffmpeg to extract the frames averagely from a video, with different fps. I use this command for it.


ffmpeg -i input.mp4 -r specified_fps -q:v 2 image %4d.png


And I have 3 questions about this task.


- 

- what I expect is that if I double the fps, the number of extracted frames will also get doubled. However, that's not the case. Take one of the input videos as an example.




video info


- 

- Duration : 1min18s
- Total number of frames : 2340
- Frame rate mode : constant (CFR)
- Frame rate : 30.0 FPS










Config setting & results


- 

- FPS=1 => number of frames=80
- FPS=2 => number of frames=158 (2x80-2)
- FPS=3 => number of frames=236 (3x80-4)
- FPS=5 => number of frames=392 (5x80-8)










Is it possible for me to get the exact doubled number of frames when fps get doubled ? In such case, number of frames is 160 for FPS=2, 240 for FPS=3, 400 for FPS=5.


- 

-
I check for the output images, the extracted frames in different fps are totally different from each other. In other words, for example, the 1st image for fps=1 is not the same as the 1st image for fps=2. Is that legitimate ? And is it possible for me the get some identical images for different fps ?


-
The last problem is that for some videos I use, the difference between the 1st and 2nd image is different from the difference between the 2nd and 3rd. While for the remaining images, the differences become average. To be specific, there is only a slight change from 1st to 2nd frame, while for 2nd to 3rd, 3rd to 4th, and so on, the changes are the same, which is normally distributed according to the specified FPS. I am wondering why such a case happens ? Does it related to the I-frame, B-frame, P-frame, GOP or IDR ?








I am new to this field and cannot find some useful info from other places. I've tried my best to describe my questions clearly. Feel free to leave some comments. Any help would do me a great favor. Thanks in advance !


-
How to debug "Error in pull function & Input buffer exhausted" ?
15 septembre 2021, par user16909319Introduction :


I'm working on a Discord Music Bot for personal use only. Basically, when I play a 2min song with the bot, it plays the song for 1min 30secs, then skips it and plays the next one in the queue. The error is shown below :




Error in Pull Function

IO error : Error number -10054 occurred

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000018f86a6f4c0] Packet corrupt (stream = 0, dts = 11154432).

Input buffer exhausted before END element found

Invalid Data found when processing Input

[mov,mp4,m4a,3gp,3g2,mj2 @ 0000018f86a6f4c0] stream 0, offset 0x3e805c : partial file



The code block which I think is causing the problem :


Search song method


async def search_song(self, amount, song, get_url=False):
 info = await self.bot.loop.run_in_executor(None, lambda: youtube_dl.YoutubeDL(ytdl_format_options).extract_info(
 f"ytsearch{amount}:{song}", download=False, ie_key="YoutubeSearch"))
 if len(info["entries"]) == 0: return None

 return [entry["webpage_url"] for entry in info["entries"]] if get_url else info



Play_song method


async def play_song(self, ctx, song):
 url = pafy.new(song).getbestaudio().url
 ctx.voice_client.play(discord.PCMVolumeTransformer(discord.FFmpegPCMAudio(url, executable="C:/ffmpeg/bin/ffmpeg.exe")),
 after=lambda error: self.bot.loop.create_task(self.check_queue(ctx)))
 ctx.voice_client.source.volume = 0.5



Formatting Options I provided :


ytdl_format_options = {
 'format': 'bestaudio/best',
 'outtmpl': '%(extractor)s-%(id)s-%(title)s.%(ext)s',
 'restrictfilenames': True,
 'noplaylist': True,
 'nocheckcertificate': True,
 'ignoreerrors': True,
 'logtostderr': False,
 'quiet': True,
 'no_warnings': True,
 'default_search': 'auto',
 'source_address': '0.0.0.0'
}



Solutions that I've tried :


- 

- Running it on both Replit and locally.
- Redownloading FFmpeg
- Ensuring FFmpeg, pafy, and youtube_dl are all up to date.








Things to Note :


- 

- Playing a 2mins song, it stops after 1min 30 seconds and displays the error above. (75% of the song)
- Playing a 1hr song, it still continues after 10 minutes.






I do not have much experience in this yet so I'm not entirely sure where in my code is actually causing this issue or other ways which I can use to test and fix the issue.