Recherche avancée

Médias (91)

Autres articles (53)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

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

Sur d’autres sites (9038)

  • ffmpeg replace central channel with ffmpeg

    24 mai 2020, par Rafal B

    I'm trying to replace central channel in the movie (Movie-A) with another audio stream from another movie (Movie-B).
I was able to extract stereo stream from Movie-B :

    



    ffmpeg.exe" -i "Movie-B.mkv"

Stream #0:1(pol): Audio: ac3, 48000 Hz, stereo, fltp, 320 kb/s (default)


    



    and convert it to mono stream :

    



    ffmpeg.exe" -i "Movie-B.mkv" -vn -ab 320k -ac 1 "Movie-B-Audio.ac3"
Output #0, ac3, to 'Movie-B-Audio.ac3':
Stream #0:0(pol): Audio: ac3, 48000 Hz, mono, fltp, 320 kb/s (default)


    



    For Movie-A :

    



    ffmpeg.exe" -i "Movie-B.mkv"
Stream #0:1(eng): Audio: aac (LC), 48000 Hz, 5.1, fltp (default)


    



    so Layout is 5.1 (FL+FR+FC+LFE+BL+BR), not 5.1(side) (FL+FR+FC+SL+SR)

    



    Media Info shows :

    



    Audio
ID: 2
Format: AAC
Format info: Advanced Audio Codec Low Complexity
Commercial name: AAC
Codec ID: A_AAC-2
Bit rate: 426 kb/s
Channel(s): 6 channels
Channel positions: Front: L C R, Side: L R, LFE
Channel layout: C L R Ls Rs LFE


    



    I have extracted all 6 channels into one stream with containing 6 channels :

    



    ffmpeg.exe" -i "Movie-A.mkv" -vn -ab 320k -ac 6 "Movie-A-Audio.ac3"
Output #0, ac3, to 'Movie-A-Audio.ac3':
Stream #0:0(eng): Audio: ac3, 48000 Hz, 5.1, fltp, 320 kb/s (default)


    



    But at this stage I'm getting different Layout in Movie-A-Audio.ac3 :

    



    Audio
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Duration                                 : 2 h 16 min
Bit rate mode                            : Constant
Bit rate                                 : 320 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs


    



    In source Movie-A.mkv it is : Channel layout : C L R Ls Rs LFE

    



    In output Movie-A-Audio.ac3 it is : Channel layout : L R C LFE Ls Rs

    



    Then I tried to extract those 6 channels into separate mono-stream files :

    



    ffmpeg.exe" -i "Movie-A-Audio.ac3" -filter_complex "channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]" -ab 320k -ac 1 -map "[FL]" extr_front_left.ac3 -ab 320k -ac 1 -map "[FR]" extr_front_right.ac3 -ab 320k -ac 1 -map "[FC]" extr_front_center.ac3 -ab 320k -ac 1 -map "[LFE]" extr_subwoofer.ac3 -ab 320k -ac 1 -map "[BL]" extr_back_left.ac3 -ab 320k -ac 1 -map "[BR]" extr_back_right.ac3


    



    With result :

    



    Stream mapping:
  Stream #0:0 (ac3) -> channelsplit
  channelsplit:FL -> Stream #0:0 (ac3)
  channelsplit:FR -> Stream #1:0 (ac3)
  channelsplit:FC -> Stream #2:0 (ac3)
  channelsplit:LFE -> Stream #3:0 (ac3)
  channelsplit:BL -> Stream #4:0 (ac3)
  channelsplit:BR -> Stream #5:0 (ac3)
Press [q] to stop, [?] for help
Output #0, ac3, to 'extr_front_left.ac3':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Audio: ac3, 48000 Hz, mono, fltp, 320 kb/s
    Metadata:
      encoder         : Lavc58.54.100 ac3
Output #1, ac3, to 'extr_front_right.ac3':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #1:0: Audio: ac3, 48000 Hz, mono, fltp, 320 kb/s
    Metadata:
      encoder         : Lavc58.54.100 ac3
Output #2, ac3, to 'extr_front_center.ac3':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #2:0: Audio: ac3, 48000 Hz, mono, fltp, 320 kb/s
    Metadata:
      encoder         : Lavc58.54.100 ac3
Output #3, ac3, to 'extr_subwoofer.ac3':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #3:0: Audio: ac3, 48000 Hz, mono, fltp, 320 kb/s
    Metadata:
      encoder         : Lavc58.54.100 ac3
Output #4, ac3, to 'extr_back_left.ac3':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #4:0: Audio: ac3, 48000 Hz, mono, fltp, 320 kb/s
    Metadata:
      encoder         : Lavc58.54.100 ac3
Output #5, ac3, to 'extr_back_right.ac3':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #5:0: Audio: ac3, 48000 Hz, mono, fltp, 320 kb/s
    Metadata:
      encoder         : Lavc58.54.100 ac3


    



    When I'm checking channels layouts of those files extracted I see each of them is having Channel Layout marked with Central, for instant front_left.ac3 :

    



    Audio
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Duration                                 : 2 h 16 min
Bit rate mode                            : Constant
Bit rate                                 : 320 kb/s
Channel(s)                               : 1 channel
Channel layout                           : C
Sampling rate                            : 48.0 kHz


    



    Then I try to join needed channels :

    



    ffmpeg.exe" -i extr_front_left.ac3 -i extr_front_right.ac3 -i Movie-B-Audio.ac3 -i extr_back_left.ac3 -i extr_back_right.ac3 -i extr_subwoofer.ac3 -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]join=inputs=6:channel_layout=5.1[a]" -map "[a]" "final-output.ac3


    



    But it is completely messed up : central channel (voice) is heard in front right speaker, in back right speaker is silence (or maybe it is subwoofer ?)

    



    Target is easy :

    



      

    1. convert source stereo central audio channel in Movie-B.mkv to mono channel
and
    2. 


    3. insert it as central channel into Movie-A.mkv that have 5.1 Audio stream with layout C L R Ls Rs LFE
    4. 


    



    So far I was able to complete 1. but I have a problem with mappings.
Can someone try to guide me how to do that ?

    


  • Low latency routing of rtp input to rtsp output with ffmpeg on a server

    29 mai 2020, par guillefix

    I want to be able to do some simple low-latency screen share. I know peer-to-peer would be the lowest latency, but it seems using an intermediate server is a lot easier to setup. I have found this awesome little library, which sets up an RTSP server, which I'm running on my digital ocean server. I then :

    



      

    1. Set up OBS to stream using RTP to the server on port 8558 with libx264 encoding.
    2. 


    3. Run ffmpeg -re -stream_loop -1 -i rtp://127.0.0.1:8558 -c:v libx264 -c:a aac -f rtsp rtsp://localhost:8554/mystream on the server.
    4. 


    5. Open rtsp://<server ip="ip">:8554/mystream</server> on VLC.
    6. &#xA;

    &#xA;&#xA;

    However, the latency seems to be quite high. With my crappy internet it must have been like half a minute. A friend with better internet saw it fluctuating between 4-15 seconds. Furthermore, there seems to be a lot of artifacts on the video (problems with encoding ? I'm not sure why these happen ?)

    &#xA;&#xA;

    I attach below my OBS settings, and an example of artifacts.

    &#xA;&#xA;

    My question is : is there some settings on OBS and on ffmpeg that would allow this to have as low end-to-end latency as possible, while not having too many bad artifacts ? I'm not very well versed on video encoding and streaming, so this is all quite new to me. I'm willing to learn !

    &#xA;&#xA;

    OBS settings

    &#xA;&#xA;

    video artifacts

    &#xA;

  • Is there any way that I can speed up the ffmpeg processing time

    20 mai 2020, par Ahmed Al-Rayan

    I am facing a problem with the processing process. I use a real joint server in a digital hosting package of $ 10 and use cloud service from Amazon s3. The problem is when uploading a video, whatever the size of the video, whether its size is 1 megabyte or 2 Giga. After the upload process, the processing process starts to upload, there is no problem But when the processing process takes a very long time so that I cannot complete it, what is the solution to that, is there a problem for me or is this process normal ?&#xA; I use laravel-ffmpeg and through laravel queue I am cutting the video into several qualities I will attach the code to you below.

    &#xA;&#xA;

    public function handle()&#xA;{&#xA;    //180p&#xA;    $lowBitrate1 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(613);&#xA;    //270p&#xA;    $lowBitrate2 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(906);&#xA;    //360p&#xA;    $midBitrate1 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(1687);&#xA;    //540p&#xA;    $midBitrate2 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(2227);&#xA;    //720p&#xA;    $highBitrate1 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(4300);&#xA;    //1080&#xA;    $highBitrate2 = (new X264(&#x27;aac&#x27;))->setKiloBitrate(7917);&#xA;&#xA;FFMpeg::fromDisk(&#x27;s3&#x27;)&#xA;    ->open($this->movie->path)&#xA;    ->exportForHLS()&#xA;    ->onProgress(function ($percent) {&#xA;        $this->movie->update([&#xA;            &#x27;percent&#x27; => $percent&#xA;        ]);&#xA;    })&#xA;    ->setSegmentLength(10)// optional&#xA;    ->addFormat($lowBitrate1)&#xA;    ->addFormat($lowBitrate2)&#xA;    ->addFormat($midBitrate1)&#xA;    ->addFormat($midBitrate2)&#xA;    ->addFormat($highBitrate1)&#xA;    ->addFormat($highBitrate2)&#xA;    ->toDisk(&#x27;s3&#x27;)&#xA;    ->save("public/Movies/{$this->movie->id}/{$this->movie->id}.m3u8");&#xA;}//end of handle&#xA;

    &#xA;