Recherche avancée

Médias (33)

Mot : - Tags -/creative commons

Autres articles (8)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

  • Librairies et logiciels spécifiques aux médias

    10 décembre 2010, par

    Pour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
    Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...)

Sur d’autres sites (508)

  • ffmpeg : Fix segfault when using ffmpeg with ffserver where ffmpeg does not supply...

    21 novembre 2011, par Michael Niedermayer

    ffmpeg : Fix segfault when using ffmpeg with ffserver where ffmpeg does not supply...

  • Using FFMPEG library in PPAPI : Naclports with FFmpeg

    30 avril 2017, par rasulzhan

    I have configured Webports, ffmpeg ; and I have created the following Makefile for the current project. However, I have met some problem with ffmpeg library linking.

    $ TOOLCHAIN=pnacl make
     LINK pnacl/Release/client_unstripped.bc
    pnacl/Release/src/client.o: error: undefined reference to 'av_register_all'
    make: *** [pnacl/Release/client_unstripped.bc] Error 1

    Can you tell me what I am doing wrong here, my Makefile is shown below :

    VALID_TOOLCHAINS := pnacl glibc clang-newlib win

    NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../..)

    TARGET = client

    OTHERDIR=src

    INC_DIR = inc

    FFMPEG_INC_DIR = ../../toolchain/mac_pnacl/le32-nacl/usr/include

    INCLUDES = -I$(INC_DIR) -I$(FFMPEG_INC_DIR)

    include $(NACL_SDK_ROOT)/tools/common.mk

    CHROME_ARGS += —allow-nacl-socket-api=localhost

    LIBS = nacl_io ppapi_cpp ppapi

    CFLAGS = -Wall -g -O2 $(INCLUDES)
    -L../../toolchain/mac_pnacl/le32-nacl/usr/lib -lavformat \
    -lvpx -lvorbisenc -lvorbis -logg -ltheoraenc -ltheoradec -logg -lmp3lame -lm -pthread -lavcodec -lvpx -lvorbisenc -lvorbis -logg \
    -ltheoraenc -ltheoradec -logg -lmp3lame -lm -pthread -lswresample -lm -lavutil -lm -lavdevice -lavfilter

    SOURCES = $(OTHERDIR)/tcp_util.cc $(OTHERDIR)/tpool.cc
    $(OTHERDIR)/net.cc $(OTHERDIR)/rtsp_response.cc \ $(OTHERDIR)/rtsp.cc
    $(OTHERDIR)/rtsp_common.cc \ $(OTHERDIR)/rtsp_client.cc
    $(OTHERDIR)/udp_util.cc \ $(OTHERDIR)/client.cc

    # Build rules generated by macros from common.mk :

    $(foreach src,$(SOURCES),$(eval $(call
    COMPILE_RULE,$(src),$(CFLAGS))))

    # The PNaCl workflow uses both an unstripped and finalized/stripped binary.
    # On NaCl, only produce a stripped binary for Release configs (not Debug). ifneq (,$(or $(findstring pnacl,$(TOOLCHAIN)),$(findstring
    Release,$(CONFIG)))) $(eval $(call
    LINK_RULE,$(TARGET)_unstripped,$(SOURCES),$(LIBS),$(DEPS))) $(eval
    $(call STRIP_RULE,$(TARGET),$(TARGET)_unstripped)) else $(eval $(call
    LINK_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS))) endif

    $(eval $(call NMF_RULE,$(TARGET),))

    And here is the way, how the library has been used in the class context.

    class VideoDecodePack {
    public:
       VideoDecodePack() {
           av_register_all();
       }
    };

    class ClientInstance : public pp::Instance {
    public:
     explicit ClientInstance(PP_Instance instance) : pp::Instance(instance){
       cses = InitRtspClientSession();
       _videoDecoder = new VideoDecodePack();
     }
    ...
  • 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 ?