
Recherche avancée
Autres articles (50)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (7342)
-
Python code mutes whole video instead of sliding a song. What shall I do ?
16 juillet 2023, par Armed NunI am trying to separate a song into 4 parts and slide the parts in random parts of a video. The problem with my code is that the final output video is muted. I want to play parts of the song at random intervals and while the song is playing the original video shall be muted. Thanks to everyone who helps


import random
from moviepy.editor import *

def split_audio_into_parts(mp3_path, num_parts):
 audio = AudioFileClip(mp3_path)
 duration = audio.duration
 part_duration = duration / num_parts

 parts = []
 for i in range(num_parts):
 start_time = i * part_duration
 end_time = start_time + part_duration if i < num_parts - 1 else duration
 part = audio.subclip(start_time, end_time)
 parts.append(part)

 return parts

def split_video_into_segments(video_path, num_segments):
 video = VideoFileClip(video_path)
 duration = video.duration
 segment_duration = duration / num_segments

 segments = []
 for i in range(num_segments):
 start_time = i * segment_duration
 end_time = start_time + segment_duration if i < num_segments - 1 else duration
 segment = video.subclip(start_time, end_time)
 segments.append(segment)

 return segments

def insert_audio_into_segments(segments, audio_parts):
 modified_segments = []
 for segment, audio_part in zip(segments, audio_parts):
 audio_part = audio_part.volumex(0) # Mute the audio part
 modified_segment = segment.set_audio(audio_part)
 modified_segments.append(modified_segment)

 return modified_segments

def combine_segments(segments):
 final_video = concatenate_videoclips(segments)
 return final_video

# Example usage
mp3_file_path = "C:/Users/Kris/PycharmProjects/videoeditingscript124234/DENKATA - Podvodnica Demo (1).mp3"
video_file_path = "C:/Users/Kris/PycharmProjects/videoeditingscript124234/family.guy.s21e13.1080p.web.h264-cakes[eztv.re].mkv"
num_parts = 4

audio_parts = split_audio_into_parts(mp3_file_path, num_parts)
segments = split_video_into_segments(video_file_path, num_parts)
segments = insert_audio_into_segments(segments, audio_parts)
final_video = combine_segments(segments)
final_video.write_videofile("output.mp4", codec="libx264", audio_codec="aac")



I tried entering most stuff into chatGPT and asking questions around forums but without sucess, so lets hope I can see my solution here


-
How do you run a ffmpeg command in Java, in MacOS, using a ProcessBuilder
5 août 2020, par nottAbottI am writing a program in Java that uses ffmpeg to "snip" a video into several pieces and the stitch them back together again. I have everything working relatively smoothly in Windows, but I cannot get ffmpeg to work in Mac, or in Linux for that matter. I'm focusing on mac right now though. I thought that it might be a permissions problem, but when I run it with sudo I get an error that says (after typing in the password :


sudo: ffmpeg: command not found



when I run it without sudo I get :


java.io.IOException: Cannot run program "ffmpeg": error=2, No such file or directory



I think that it might be because the ffmpeg package, on the Mac machine, was downloaded with homebrew, and ffmpeg is stored in /usr/local/Cellar/ffmpeg instead of the default folder, wherever it may be. That may not be the problem though, because I deleted ffmpeg and re-downloaded it with homebrew. It may have been in its defaulter folder in my first tests as well. It would be great to figure this out. Most of my family uses Mac (not me) and I really want to share my work with them. That is why I chose to code this in Java. Oh, and I did try using the directory to the binary in the command. Here's the code :


//snips out all the clips from the main video
 public void snip() throws IOException, InterruptedException {
 
 for(int i = 0; i < snippets.size(); i++) {
 //ffmpeg -i 20sec.mp4 -ss 0:0:1 -to 0:0:5 -c copy foobar.mp4
 String newFile = "foobar" + String.valueOf(i) + ".mp4";
 
 //THIS WORKS
 if(OS.isWindows()) {
 ProcessBuilder processBuilder = new ProcessBuilder("ffmpeg", "-i", videoName, "-ss",
 snippets.get(i).getStartTime(), "-to", snippets.get(i).getEndTime(), newFile);
 
 Process process = processBuilder.inheritIO().start();
 process.waitFor();
 System.out.println("Win Snip " + i + "\n");
 }
 
 else if (OS.isMac()) {
 //FFMPEG LOCATION: /usr/local/Cellar/ffmpeg
 //THE ERROR: sudo: ffmpeg: command not found
 //ERROR W/OUT SUDO: java.io.IOException: Cannot run program "ffmpeg": error=2, No such file or directory
 ProcessBuilder processBuilder = new ProcessBuilder("sudo", "-S", "ffmpeg", "-f", videoName, "-ss",
 snippets.get(i).getStartTime(), "-to", snippets.get(i).getEndTime(), newFile);
 
 Process process = processBuilder.inheritIO().start();
 process.waitFor();
 System.out.println("Mac Snip " + i + "\n");
 }
 
 else if (OS.isUnix()) {
 System.out.println("Your operating system is not supported");
 //TODO
 //need to figure out if deb/red hat/whatever are different
 }
 
 else if (OS.isSolaris()) {
 System.out.println("Your operating system is not supported yet");
 //TODO probably won't do
 }
 
 else {
 System.out.println("Your operating system is not supported");
 }
 //add to the list of files to be concat later
 filesToStitch.add(newFile);
 filesToDelete.add(newFile);
 
 }
 //System.out.println(stitchFiles);
 }



-
Evolution #2050 : site vide au début
10 mai 2011, par cedric -voir aussi #2056