Recherche avancée

Médias (91)

Autres articles (60)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • 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 (9245)

  • Show progress bar of a ffmpeg video convertion

    13 juin 2022, par stackexchange.com-upvm25mz

    I'm trying to print a progress bar while executing ffmpeg but I'm having trouble getting the total number of frames and the current frame being processed. The error I get is AttributeError: 'NoneType' object has no attribute 'groups'. I've copied the function from this program and for some reason it works there but not here, even though I haven't changed that part.

    


    main.py

    


    pattern_duration = re.compile(
    'duration[ \t\r]?:[ \t\r]?(.+?),[ \t\r]?start', re.IGNORECASE)
pattern_progress = re.compile('time=(.+?)[ \t\r]?bitrate', re.IGNORECASE)

def execute_ffmpeg(self, manager, cmd):
    proc = expect.spawn(cmd, encoding='utf-8')
    self.update_progress_bar(proc, manager)
    self.raise_ffmpeg_error(proc)

def update_progress_bar(self, proc, manager):
    total = self.get_total_frames(proc)
    cont = 0
    pbar = self.initialize_progress_bar(manager)
    try:
        proc.expect(pattern_duration)
        while True:
            progress = self.get_current_frame(proc)
            percent = progress / total * 100
            pbar.update(percent - cont)
            cont = percent
    except expect.EOF:
        pass
    finally:
        if pbar is not None:
            pbar.close()

def raise_ffmpeg_error(self, proc):
    proc.expect(expect.EOF)
    res = proc.before
    res += proc.read()
    exitstatus = proc.wait()
    if exitstatus:
        raise ffmpeg.Error('ffmpeg', '', res)

def initialize_progress_bar(self, manager):
    pbar = None
    pbar = manager.counter(
        total=100,
        desc=self.path.rsplit(os.path.sep, 1)[-1],
        unit='%',
        bar_format=BAR_FMT,
        counter_format=COUNTER_FMT,
        leave=False
    )
    return pbar

def get_total_frames(self, proc):
    return sum(map(lambda x: float(
        x[1])*60**x[0], enumerate(reversed(proc.match.groups()[0].strip().split(':')))))

def get_current_frame(self, proc):
    proc.expect(pattern_progress)
    return sum(map(lambda x: float(
                x[1])*60**x[0], enumerate(reversed(proc.match.groups()[0].strip().split(':')))))


    


  • How can I change slice_type which is show in Elecard stream analyzer using ffmpeg ?

    10 octobre 2018, par Tooraj Jam

    I’m not ffmpeg and encodding expert and am trying to encode a MP4 file to MPEG-4 h264 .ts file.

    When Elecard stream analyzer is analyzing my result .ts file, it shows slice_type = 7 for all of i-frames as you can see in the attached screenshot.

    How can I change all these to slice_type = 2 ?

    My ffmpeg command :

    -i Source.mp4 \
    -filter:v 'setpts=0+PTQ-STARTPTS' -metadata:s:v:0 start_time=0 \
    -f adts -c:a libfdk_aac  -profile:a aac_he  -strict -2 -ar 48000 -b:a 48k \
    -f mpegts -c:v libx264  -vbsf h264_mp4toannexb -strict experimental -    profile:v main -level:v 3.0 -preset:v slow -movflags faststart -pat_period 100 \
    -x264opts nal-hrd=cbr:force-cfr=1 -crf 25 -vf scale=w=640:h=360 -aspect 16:9 \
    -bf 1  -sc_threshold 0 -keyint_min 2*25 -g 2*25 \
    -force_key_frames "expr:gte(t,n_forced*50)" -max_muxing_queue_size 1500k \
    -coder 1  -refs 2 \
    -b:v 750k -minrate 750k -maxrate 750k -bufsize 1500k \
    -vsync 1 -framerate 25000/1001 \
    -x264opts "bitrate=750:vbv-maxrate=750:vbv-bufsize=1500"\
    -pix_fmt yuv420p  -r 25 -x264opts force-cfr \
    -mbs_per_slice 1 -y dest.ts

    enter image description here

  • Mingw-w64 builded FFmpeg doesn't show any usage information

    26 octobre 2013, par user1240328

    First I wanted to modificate ffplay according to my requirments. Then I noticed that original ffplay from my build can't play some video files, but it didn't write any message to console. Then I noticed that ffmpeg also don't write any usage message when I run it without params. But it works. If I run it from terminal it's like running asynchronously ! The terminal just shows next row. I mean it asks for a next command. But the ffmpeg process is visible in task manager and it writes the output video file what I had requested !

    I created following souce file. I have modified the Makefile. So it have built the exe-file works just the same way. I have no idea how it can be.

    #include
    #include "cmdutils.h"

    const char program_name[] = "hello";
    const int program_birth_year = 2013;

    void show_help_default(const char *opt, const char *arg)
    {
       printf("zxcvbnm\n");
    }

    int main(int argc, char **argv)
    {
       printf("1234567890\n");
       return 0;
    }

    I want to prevent this behavior.

    I want to make printf working in traditional manner.

    How I build FFmpeg :

    PKG_CONFIG_PATH=/home/developer/workspace/MinGW32fs/lib/pkgconfig/ \
    SDL_CONFIG=/home/developer/workspace/MinGW32fs/bin/sdl-config \
    ./configure \
     --prefix=/home/developer/workspace/MinGW32fs \
     --extra-ldflags="-L/home/developer/workspace/MinGW32fs/lib" \
     --extra-cflags="-I/home/developer/workspace/MinGW32fs/include" \
     --arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32-  \
     --pkg-config=pkg-config   --enable-libtheora --enable-libvorbis --enable-libvpx \
     --enable-outdev=sdl --enable-shared --disable-static \
     --disable-doc --disable-manpages --disable-podpages

    make