Recherche avancée

Médias (0)

Mot : - Tags -/publication

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (66)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (8732)

  • FFmpeg : Looping an video/audio stream to YouTube Live

    27 novembre 2020, par Claus

    I'm using this script to stream a 30s .mp4 video file with a 2min audio track in .mp3 format :

    


    #! /bin/bash

VBR="1500k"
FPS="30"
QUAL="ultrafast"
YOUTUBE_URL=" rtmp://a.rtmp.youtube.com/live2"
YOUTUBE_KEY="**********"
VIDEO_SOURCE="test_video_4.mp4"
AUDIO_SOURCE="test_audio_3.mp3"
AUDIO_ENCODER="aac"

ffmpeg \
 -stream_loop -1 \
 -re \
 -i "$VIDEO_SOURCE" \
 -thread_queue_size 512 \
 -i "$AUDIO_SOURCE" \
 -c:v libx264 -preset $QUAL -r $FPS -g $(($FPS *2)) -b:v $VBR \
 -c:a $AUDIO_ENCODER -threads 6 -ar 44100 -b:a 128k -bufsize 512k -pix_fmt yuv420p \
 -fflags +shortest -max_interleave_delta 50000 \
 -f flv $YOUTUBE_URL/$YOUTUBE_KEY


    


    Both the audio and the video get played correctly the first time, with the video looping while the audio playback is completed (since it's shorter). The only problem is that the audio loop does not work and as soon the audio completes the first time the stream simply stops.

    


    Here's the log :

    


    


    ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
    
built with Apple clang version 12.0.0 (clang-1200.0.32.27)
    
configuration : —prefix=/usr/local/Cellar/ffmpeg/4.3.1_4
—enable-shared —enable-pthreads —enable-version3 —enable-avresample —cc=clang —host-cflags= —host-ldflags= —enable-ffplay —enable-gnutls —enable-gpl —enable-libaom —enable-libbluray —enable-libdav1d —enable-libmp3lame —enable-libopus —enable-librav1e —enable-librubberband —enable-libsnappy —enable-libsrt —enable-libtesseract —enable-libtheora —enable-libvidstab —enable-libvorbis —enable-libvpx —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxml2 —enable-libxvid —enable-lzma —enable-libfontconfig —enable-libfreetype —enable-frei0r —enable-libass —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenjpeg —enable-librtmp —enable-libspeex —enable-libsoxr —enable-videotoolbox —disable-libjack —disable-indev=jack libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 /
58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 /
3. 7.100 libpostproc 55. 7.100 / 55. 7.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test_video_4.mp4' : Metadata :
major_brand : mp42
minor_version : 1
compatible_brands : isommp41mp42
creation_time : 2020-11-27T18:38:02.000000Z Duration : 00:00:39.46, start : 0.000000, bitrate : 12081 kb/s
Stream #0:0(und) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 12033
kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default)
Metadata :
creation_time : 2020-11-27T18:38:02.000000Z
handler_name : Core Media Video Input #1, mp3, from 'test_audio_3.mp3' : Metadata :
genre : Cinematic
album : YouTube Audio Library
title : Test Title
artist : Test Artist Duration : 00:02:12.21, start : 0.025057, bitrate : 320 kb/s
Stream #1:0 : Audio : mp3, 44100 Hz, stereo, fltp, 320 kb/s
Metadata :
encoder : LAME3.99r Stream mapping : Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #1:0 -> #0:1 (mp3 (mp3float) -> aac (native)) Press [q] to stop, [?] for help [libx264 @
0x7fa825031600] VBV maxrate unspecified, assuming CBR [libx264 @
0x7fa825031600] using SAR=1/1 [libx264 @ 0x7fa825031600] using cpu
capabilities : MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @
0x7fa825031600] profile Constrained Baseline, level 3.1, 4:2:0, 8-bit
[libx264 @ 0x7fa825031600] 264 - core 161 r3027 4121277 - H.264/MPEG-4
AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html -
options : cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1
psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0
8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0
threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1
interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0
keyint=60 keyint_min=6 scenecut=0 intra_refresh=0 rc_lookahead=0
rc=cbr mbtree=0 bitrate=1500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69
qpstep=4 vbv_maxrate=1500 vbv_bufsize=512 nal_hrd=none filler=0
ip_ratio=1.40 aq=0 Output #0, flv, to
'rtmp ://a.rtmp.youtube.com/live2/*****' :
    
Metadata :
major_brand : mp42
minor_version : 1
compatible_brands : isommp41mp42
encoder : Lavf58.45.100
Stream #0:0(und) : Video : h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1—1, 1500 kb/s,
30 fps, 1k tbn, 30 tbc (default)
Metadata :
creation_time : 2020-11-27T18:38:02.000000Z
handler_name : Core Media Video
encoder : Lavc58.91.100 libx264
Side data :
cpb : bitrate max/min/avg : 0/0/1500000 buffer size : 512000 vbv_delay : N/A
Stream #0:1 : Audio : aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s
Metadata :
encoder : Lavc58.91.100 aac Larger timestamp than 24-bit : 0xffff9b44kB time=00:02:37.43 bitrate=1292.6kbits/s
speed=0.995x [flv @ 0x7fa825032800] Failed to update header with
correct duration. [flv @ 0x7fa825032800] Failed to update header with
correct filesize. frame= 3790 fps= 24 q=-1.0 Lsize= 24962kB
time=00:02:38.03 bitrate=1294.0kbits/s speed=0.997x video:22719kB
audio:2081kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead : 0.656017% [libx264 @ 0x7fa825031600] frame I:64 Avg
QP:36.43 size : 38436 [libx264 @ 0x7fa825031600] frame P:3726 Avg
QP:28.61 size : 5583 [libx264 @ 0x7fa825031600] mb I I16..4 : 100.0%
0.0% 0.0% [libx264 @ 0x7fa825031600] mb P I16..4 : 3.3% 0.0% 0.0% P16..4 : 13.6% 0.0% 0.0% 0.0% 0.0% skip:83.1% [libx264 @
0x7fa825031600] coded y,uvDC,uvAC intra : 57.8% 71.6% 47.8% inter : 6.0%
7.1% 2.1% [libx264 @ 0x7fa825031600] i16 v,h,dc,p : 21% 39% 23% 18% [libx264 @ 0x7fa825031600] i8c dc,h,v,p : 36% 38% 16% 10% [libx264 @
0x7fa825031600] kb/s:1177.39 [aac @ 0x7fa82502d800] Qavg : 179.328
Exiting normally, received signal 2.

    


    


  • Conditional formats in Laravel FFMPEG

    29 décembre 2020, par JJ The Second

    I'm currently using Laravel FFMPEG in a Laravel project and running followings which works well https://github.com/protonemedia/laravel-ffmpeg

    


    Here is an example of code that is working :

    


     $lowBitrate = (new X264)->setKiloBitrate(250);
            $midBitrate = (new X264)->setKiloBitrate(500);
            $highBitrate = (new X264)->setKiloBitrate(1000);
            $superBitrate = (new X264)->setKiloBitrate(1500);

            FFMpeg::open('steve_howe.mp4')
                ->exportForHLS()
                ->addFormat($lowBitrate, function($media) {
                    $media->addFilter('scale=640:480');
                })

                 ->addFormat($midBitrate, function($media) {
                    $media->scale(960, 720);
                })
                ->addFormat($highBitrate, function ($media) {
                    $media->addFilter(function ($filters, $in, $out) {
                        $filters->custom($in, 'scale=1920:1200', $out); // $in, $parameters, $out
                    });
                })
                ->addFormat($superBitrate, function($media) {
                    $media->addLegacyFilter(function ($filters) {
                        $filters->resize(new \FFMpeg\Coordinate\Dimension(2560, 1920));
                    });
                })
                ->save('adaptive_steve.m3u8');


    


    Now, my challenge is that on client side, my users need to select what formats they'd like to include in transcoding job and one job may contain 2 bitrate variation or more so there is a need to have a conditional statement before calling ->addFromat()

    


    Ideally I'd need to approach this :

    


     $lowBitrate = (new X264)->setKiloBitrate(250);
        $midBitrate = (new X264)->setKiloBitrate(500);
        $highBitrate = (new X264)->setKiloBitrate(1000);
        $superBitrate = (new X264)->setKiloBitrate(1500);

        FFMpeg::open('steve_howe.mp4')
            ->exportForHLS()
            ->addFormat($lowBitrate, function($media) {
                $media->addFilter('scale=640:480');
            })
             /// adding if statement here
             ->addFormat($midBitrate, function($media) {
                $media->scale(960, 720);
            })
            ->addFormat($highBitrate, function ($media) {
                $media->addFilter(function ($filters, $in, $out) {
                    $filters->custom($in, 'scale=1920:1200', $out); // $in, $parameters, $out
                });
            })
            ->addFormat($superBitrate, function($media) {
                $media->addLegacyFilter(function ($filters) {
                    $filters->resize(new \FFMpeg\Coordinate\Dimension(2560, 1920));
                });
            })
            ->save('adaptive_steve.m3u8');


    


    No idea how to add a if/else statement here. How do you think I should approach this ?

    


    Thanks

    


  • Rtmp streaming not playing on VLC player

    7 février 2021, par Madhuraank B

    In terminal :

    


    ffmpeg -f v4l2 -i /dev/video0 -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -s 1280x720 -r 30 -b:v 1500k -bufsize 1500k -maxrate 7000k -f flv rtmp://192.168.1.6:1935/live/test


    


    I get :

    


    


    Output #0, flv, to 'rtmp ://192.168.1.6:1935/live/test' :
Metadata :
encoder : Lavf58.20.100
Stream #0:0 : Video : h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 1280x720, q=-1—1, 1500 kb/s, 30 fps, 1k tbn, 30 tbc
Metadata :
encoder : Lavc58.35.100 libx264
Side data :
cpb : bitrate max/min/avg : 7000000/0/1500000 buffer size : 1500000 vbv_delay : -1
frame= 115 fps=0.1 q=21.0 size= 3088kB time=00:00:17.96 bitrate=1407.9kbits/s speed=0.0141x

    


    


    When I open VLC player and open network stream in network rtmp://192.168.1.6/live/test, but it does not play it shows no error it just keeps on loading.

    


    Thanks in advance