Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (45)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP 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, par

    MediaSPIP 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 (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (7643)

  • How to read percentage from ffmpeg command in java ?

    23 juillet 2019, par Prasab R

    I am trying to convert video file to specific format by executing ffmpeg command. In that process I want to read percentage by using timepattern format. Somehow I am not able to do it.

    I have tried using the below code. Specially I am getting null in the while loop condition.

    import java.io.*;
    import java.util.Scanner;
    import java.util.regex.Pattern;

    class Test {
     public static void main(String[] args) throws IOException {
       ProcessBuilder pb = new ProcessBuilder("ffmpeg","-i","in.webm","out.mp4");
       final Process p = pb.start();

       new Thread() {
         public void run() {

           Scanner sc = new Scanner(p.getErrorStream());

           // Find duration
           Pattern durPattern = Pattern.compile("(?<=Duration: )[^,]*");
           String dur = sc.findWithinHorizon(durPattern, 0);
           if (dur == null)
             throw new RuntimeException("Could not parse duration.");
           String[] hms = dur.split(":");
           double totalSecs = Integer.parseInt(hms[0]) * 3600
                            + Integer.parseInt(hms[1]) *   60
                            + Double.parseDouble(hms[2]);
           System.out.println("Total duration: " + totalSecs + " seconds.");

           // Find time as long as possible.
           Pattern timePattern = Pattern.compile("(?<=time=)[\\d.]*");
           String match;
           while (null != (match = sc.findWithinHorizon(timePattern, 0))) {
             double progress = Double.parseDouble(match) / totalSecs;
             System.out.printf("Progress: %.2f%%%n", progress * 100);
           }
         }
       }.start();

     }
    }

    I am expecting a value in the while condition, but it coming as null.enter code here

  • dashenc : Write segment timelines properly if the timeline has gaps

    28 novembre 2014, par Martin Storsjö
    dashenc : Write segment timelines properly if the timeline has gaps
    

    Write a new start time if the duration of the previous segment
    didn’t match the start of the next one. Check that segments
    actually are continuous before writing a repeat count.

    This makes sure timestamps deduced from the timeline actually
    match the real start timestamp as written in filenames (if
    using a template containing $Time$).

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] libavformat/dashenc.c
  • How can I sync the frames of multiple videos from a multi-camera capture system using FFMPEG

    9 février 2023, par user9114146

    I have a multi-camera capture setup with 2 canon cameras. Each of these cameras have a tentacle sync e timecode generator connected to them.

    &#xA;

    After a video capture with these 2 cameras, the generated timecode (SMPTE format) is stored in the video files metadata.

    &#xA;

    It looks like this 00:00:53;30

    &#xA;

    Is there a bash script that uses FFmpeg to trim the start time of the video that started earlier (based on timecode) to match the other and then trim the end time of the video that ended last to match the one that ended first ?

    &#xA;

    The two trimmed output videos should be synced based on the timecode and have the same duration.

    &#xA;

    So far, my bash script looks like this :

    &#xA;

    file1="A001C002_220101EB_CANON.MXF"&#xA;file2="A001C002_220101US_CANON.MXF"&#xA;&#xA;# Get the SMPTE timecodes of the two files&#xA;timecode1=$(ffmpeg -i "$file1" 2>&amp;1 | sed -n &#x27;s/timecode.*: \(.*\)/\1/p&#x27;)&#xA;timecode2=$(ffmpeg -i "$file2" 2>&amp;1 | sed -n &#x27;s/timecode.*: \(.*\)/\1/p&#x27;)&#xA;&#xA;# Convert the SMPTE timecode to start time in seconds&#xA;start_time_1=$(echo "$timecode1" | awk -F &#x27;:&#x27; &#x27;{print 3600*$1 &#x2B; 60*$2 &#x2B; $3}&#x27;)&#xA;start_time_2=$(echo "$timecode2" | awk -F &#x27;:&#x27; &#x27;{print 3600*$1 &#x2B; 60*$2 &#x2B; $3}&#x27;)&#xA;&#xA;# Trim the start of the video with the earlier start timecode so that both videos have the same start time&#xA;if [ "$start_time_1" -lt "$start_time_2" ]; then&#xA;  ffmpeg -i "$file1" -ss "$start_time_2" -c:v libx264 -crf 18 -preset veryfast trimmed_file1.mp4&#xA;  ffmpeg -i "$file2" -c:v libx264 -crf 18 -preset veryfast trimmed_file2.mp4&#xA;else&#xA;  ffmpeg -i "$file2" -ss "$start_time_1" -c:v libx264 -crf 18 -preset veryfast trimmed_file2.mp4&#xA;  ffmpeg -i "$file1" -c:v libx264 -crf 18 -preset veryfast trimmed_file1.mp4&#xA;fi&#xA;&#xA;# Get the duration of both files&#xA;duration_1=$(ffmpeg -i trimmed_file1.mp4 2>&amp;1 | grep "Duration" | cut -d &#x27; &#x27; -f 4 | sed s/,//)&#xA;duration_2=$(ffmpeg -i trimmed_file2.mp4 2>&amp;1 | grep "Duration" | cut -d &#x27; &#x27; -f 4 | sed s/,//)&#xA;&#xA;# Convert the duration to seconds&#xA;duration_1_secs=$(echo $duration_1 | awk -F: &#x27;{ print ($1 * 3600) &#x2B; ($2 * 60) &#x2B; $3 }&#x27;)&#xA;duration_2_secs=$(echo $duration_2 | awk -F: &#x27;{ print ($1 * 3600) &#x2B; ($2 * 60) &#x2B; $3 }&#x27;)&#xA;&#xA;# Trim the end time of the video that ended last to match the one that ended first&#xA;if [ "$duration_1_secs" -gt "$duration_2_secs" ]; then&#xA;  echo "Trimming end time of file1 to match file2"&#xA;  ffmpeg -i trimmed_file1.mp4 -t "$duration_2" -c:v libx264 -c:a aac trimmed_file1.mp4&#xA;else&#xA;  echo "Trimming end time of file2 to match file1"&#xA;  ffmpeg -i trimmed_file2.mp4 -t "$duration_1" -c:v libx264 -c:a aac trimmed_file2.mp4&#xA;fi&#xA;

    &#xA;

    But this does not make the videos have matching frames.

    &#xA;

    Thanks !

    &#xA;