Recherche avancée

Médias (91)

Autres articles (63)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (4967)

  • cygwin make errors : ffmpeg compile with ndk

    1er mars 2013, par Bryce

    Recently I'm compiling ffmpeg for android with ndk and I do this as this article(http://vec.io/posts/how-to-build-ffmpeg-with-android-ndk ). configure is right,
    but when I begin to make, it makes errors.
    configure shell :

    export TMPDIR=D:/temp/android
    export NDK=/cygdrive/D/DevelopKit/android-ndk-r8d
    export PATH=/cygdrive/C/cygwin/tmp/ffmpeg/bin:$PATH
    export CC=arm-linux-androideabi-gcc
    export LD=arm-linux-androideabi-ld
    export AR=arm-linux-androideabi-ar
    export C_INCLUDE_PATH=/cygdrive/C/cygwin/tmp/ffmpeg/sysroot/usr/include
    export LIBRARY_PATH=/cygdrive/C/cygwin/tmp/ffmpeg/sysroot/usr/lib
    CFLAGS="-O3 -Wall -mthumb -pipe -fpic -fasm \
     -finline-limit=300 -ffast-math \
     -fstrict-aliasing -Werror=strict-aliasing \
     -fmodulo-sched -fmodulo-sched-allow-regmoves \
     -Wno-psabi -Wa,--noexecstack \
     -D__ARM_ARCH_5__ -D__ARM_ARCH_5E__ \
     -D__ARM_ARCH_5T__ -D__ARM_ARCH_5TE__ \
     -DANDROID -DNDEBUG"

    EXTRA_CFLAGS="-march=armv7-a -mfpu=neon -mfloat-abi=softfp -mvectorize-with-neon-quad"
    EXTRA_LDFLAGS="-Wl,--fix-cortex-a8"

    FFMPEG_FLAGS="--prefix=/tmp/ffmpeg/build \
     --target-os=linux \
     --arch=arm \
     --enable-cross-compile \
     --cross-prefix=arm-linux-androideabi- \
     --enable-shared \
     --disable-symver \
     --disable-doc \
     --disable-ffplay \
     --disable-ffmpeg \
     --disable-ffprobe \
     --disable-ffserver \
     --disable-avdevice \
     --disable-avfilter \
     --disable-encoders  \
     --disable-muxers \
     --disable-filters \
     --disable-devices \
     --disable-everything \
     --enable-protocols  \
     --enable-parsers \
     --enable-demuxers \
     --disable-demuxer=sbg \
     --enable-decoders \
     --enable-bsfs \
     --enable-network \
     --enable-swscale  \
     --enable-asm \
     --enable-version3"

    ./configure $FFMPEG_FLAGS --extra-cflags="$CFLAGS $EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS"

    Configure Result(Part of config.mak) :

    ifndef FFMPEG_CONFIG_MAK
    FFMPEG_CONFIG_MAK=1
    FFMPEG_CONFIGURATION=--prefix=/tmp/ffmpeg/build --target-os=linux --arch=arm --enable-cross-compile --cross-prefix=arm-linux-androideabi- --enable-shared --disable-symver --disable-doc --disable-ffplay --disable-ffmpeg --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avfilter --disable-encoders --disable-muxers --disable-filters --disable-devices --disable-everything --enable-protocols --enable-parsers --enable-demuxers --disable-demuxer=sbg --enable-decoders --enable-bsfs --enable-network --enable-swscale --enable-asm --enable-version3 --extra-cflags='-O3 -Wall -mthumb -pipe -fpic -fasm   -finline-limit=300 -ffast-math   -fstrict-aliasing -Werror=strict-aliasing   -fmodulo-sched -fmodulo-sched-allow-regmoves   -Wno-psabi -Wa,--noexecstack   -D__ARM_ARCH_5__ -D__ARM_ARCH_5E__   -D__ARM_ARCH_5T__ -D__ARM_ARCH_5TE__   -DANDROID -DNDEBUG -march=armv7-a -mfpu=neon -mfloat-abi=softfp -mvectorize-with-neon-quad' --extra-ldflags='-Wl,--fix-cortex-a8'
    prefix=/tmp/ffmpeg/build
    LIBDIR=$(DESTDIR)${prefix}/lib
    SHLIBDIR=$(DESTDIR)${prefix}/lib
    INCDIR=$(DESTDIR)${prefix}/include
    BINDIR=$(DESTDIR)${prefix}/bin
    DATADIR=$(DESTDIR)${prefix}/share/ffmpeg
    MANDIR=$(DESTDIR)${prefix}/share/man
    SRC_PATH=.
    ifndef MAIN_MAKEFILE
    SRC_PATH:=$(SRC_PATH:.%=..%)
    endif
    CC_IDENT=gcc 4.6
    (GCC)
    ARCH=arm
    CC=arm-linux-androideabi-gcc
    CXX=arm-linux-androideabi-g++
    AS=arm-linux-androideabi-gcc
    LD=arm-linux-androideabi-gcc
    DEPCC=arm-linux-androideabi-gcc
    DEPCCFLAGS= $(CPPFLAGS)
    DEPAS=arm-linux-androideabi-gcc
    DEPASFLAGS= $(CPPFLAGS)
    YASM=yasm
    DEPYASM=yasm
    AR=arm-linux-androideabi-ar
    ARFLAGS=rc
    AR_O=$@

    But when I make it

    CC  libavformat/4xm.o
    In file included from ./libavutil/bswap.h:35:0,
                    from ./libavutil/intreadwrite.h:25,
                    from libavformat/4xm.c:30:
    ./config.h:8:18: warning: missing terminating " character [enabled by default]
    In file included from ./libavutil/bswap.h:35:0,
                    from ./libavutil/intreadwrite.h:25,
                    from libavformat/4xm.c:30:
    ./config.h:9:7: warning: missing terminating " character [enabled by default]
    ./config.h:9:2: error: missing terminating " character
    In file included from ./libavutil/intreadwrite.h:25:0,
                    from libavformat/4xm.c:30:
    ./libavutil/bswap.h:58:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'static'
    common.mak:48: recipe for target `libavformat/4xm.o' failed
    make: *** [libavformat/4xm.o] Error 1

    It is the character error and I guess it is the windows character(I'm using cygwin), I tried dos2unix but it didn't work. Please help me and thanks for advising.

  • FFmpeg remux rtp to mpegts [on hold]

    16 décembre 2013, par Ardoramor

    I am trying to remux rtp stream into mptegts format. I have an SDP file with the following contents :

    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=Unnamed
    i=N/A
    c=IN IP4 192.168.17.44
    t=0 0
    a=recvonly
    a=orient:portrait
    m=video 8202 RTP/AVP 96
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1;profile-level-id=428028;sprop-parameter-sets=Z0KAKJWgKA9E,aM48gA==;
    a=control:trackID=1

    I execute the following ffmpeg command :

    ffmpeg -i "test.sdp" -f mpegts -vcodec copy "/tmp/test.ts"

    And I get the following information :

    Input #0, sdp, from 'test.sdp':
     Metadata:
       title           : Unnamed
       comment         : N/A
     Duration: N/A, start: 0.066622, bitrate: N/A
       Stream #0.0: Video: h264 (Baseline), yuv420p, 640x480, 90k tbr, 90k tbn, 180k tbc
    [mpegts @ 0x1101d4c0] muxrate VBR, pcr every 9000 pkts, sdt every 200, pat/pmt every 40 pkts
    Output #0, mpegts, to '/tmp/test.ts':
     Metadata:
       title           : Unnamed
       comment         : N/A
       encoder         : Lavf53.4.0
       Stream #0.0: Video: libx264, yuv420p, 640x480, q=2-31, 90k tbn, 90k tbc
    Stream mapping:
     Stream #0.0 -> #0.0

    I receive the following error :

    [mpegts @ 0x1c85f960] h264 bitstream malformated, no startcode found, use -vbsf h264_mp4toannexb
    av_interleaved_write_frame(): Operation not permitted

    So I add the suggested bitstream filter :

    ffmpeg -i "test.sdp" -f mpegts -vbsf h264_mp4toannexb "/tmp/test.ts"

    But the h264 encoding now becomes h262 (mpeg2video) :

    ~$ffprobe /tmp/test.ts
    Input #0, mpegts, from '/tmp/test.ts':
     Duration: 00:00:04.13, start: 1.400000, bitrate: 640 kb/s
     Program 1
       Metadata:
         service_name    : Unnamed
         service_provider: FFmpeg
       Stream #0.0[0x100]: Video: mpeg2video (Main), yuv420p, 640x480 [PAR 1:1 DAR 4:3], 104857 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc

    Is there any way to keep the h264 codec without re-encoding it ? Doing so becomes very CPU intensive.

    Update

    Hopefully this will clear up the issue and remove the off-topic stamp.

    I'm writing an Android app that is based off of SpyDroids streaming architecture. The app communicates with the server, providing it the SDP. The server spawns an ffmpeg process to remux the incoming video stream into mpegts and broadcasts it on multicast (right now just file).

    SpyDroid performs streaming by sending recorded mp4 file through localsocket, received h264 packets, supposedly (according to code removed mp4 h264 prefix [annexb]), wraps it with rtp headrs and sends it on its way. Thus, the RPT stream I get is clearly not originally generated as such.

    As @Wagner Patriota has mentioned, I should add '-vcodec copy'. I had run the remuxing with it before as well but the error is still present (full output) :

    ~$ffmpeg -i "test.sdp" -f mpegts -vcodec copy -vbsf h264_mp4toannexb "/tmp/test.ts"
    ffmpeg version 0.8.6, Copyright (c) 2000-2011 the FFmpeg developers
     built on Jan 30 2012 17:17:54 with gcc 4.5.2
     configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --disable-avisynth --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libx264 --enable-libxvid --extra-cflags='-O2 -g -m64 -mtune=generic -fPIC' --disable-stripping --disable-demuxer=v4l --disable-demuxer=v4l2 --disable-indev=v4l --disable-indev=v4l2
     libavutil    51.  9. 1 / 51.  9. 1
     libavcodec   53.  7. 0 / 53.  7. 0
     libavformat  53.  4. 0 / 53.  4. 0
     libavdevice  53.  1. 1 / 53.  1. 1
     libavfilter   2. 23. 0 /  2. 23. 0
     libswscale    2.  0. 0 /  2.  0. 0
     libpostproc  51.  2. 0 / 51.  2. 0
    [h264 @ 0x16b4b1c0] concealing 232 DC, 232 AC, 232 MV errors
    [h264 @ 0x16b4b1c0] concealing 63 DC, 63 AC, 63 MV errors
    [h264 @ 0x16b4b1c0] concealing 25 DC, 25 AC, 25 MV errors
    [h264 @ 0x16b4b1c0] concealing 138 DC, 138 AC, 138 MV errors
    [h264 @ 0x16b4b1c0] concealing 69 DC, 69 AC, 69 MV errors
    [sdp @ 0x16b43400] Estimating duration from bitrate, this may be inaccurate

    Seems stream 0 codec frame rate differs from container frame rate: 180000.00 (180000/1) -> 90000.00 (180000/2)
    Input #0, sdp, from 'test.sdp':
     Metadata:
       title           : Unnamed
       comment         : N/A
     Duration: N/A, start: 0.033256, bitrate: N/A
       Stream #0.0: Video: h264 (Baseline), yuv420p, 640x480, 90k tbr, 90k tbn, 180k tbc
    [mpegts @ 0x16b4a4c0] muxrate VBR, pcr every 9000 pkts, sdt every 200, pat/pmt every 40 pkts
    Output #0, mpegts, to '/tmp/test.ts':
     Metadata:
       title           : Unnamed
       comment         : N/A
       encoder         : Lavf53.4.0
       Stream #0.0: Video: libx264, yuv420p, 640x480, q=2-31, 90k tbn, 90k tbc
    Stream mapping:
     Stream #0.0 -> #0.0
    Press [q] to stop, [?] for help
    h264_mp4toannexb failed for stream 0, codec copy: Invalid argument
    [mpegts @ 0x16b4a4c0] h264 bitstream malformated, no startcode found, use -vbsf h264_mp4toannexb
    av_interleaved_write_frame(): Operation not permitted

    The error reports that the invalid argument has been supplied. Increased loglevel does not give any more information. I know that ffmpeg is sometimes finicky with argument order. However, they seen to be in order of documentation as well as suggested order by @Wagner Patriota.

  • FFmpeg remux rtp to mpegts [closed]

    16 décembre 2013, par Ardoramor

    I am trying to remux rtp stream into mptegts format. I have an SDP file with the following contents :

    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=Unnamed
    i=N/A
    c=IN IP4 192.168.17.44
    t=0 0
    a=recvonly
    a=orient:portrait
    m=video 8202 RTP/AVP 96
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1;profile-level-id=428028;sprop-parameter-sets=Z0KAKJWgKA9E,aM48gA==;
    a=control:trackID=1

    I execute the following ffmpeg command :

    ffmpeg -i "test.sdp" -f mpegts -vcodec copy "/tmp/test.ts"

    And I get the following information :

    Input #0, sdp, from 'test.sdp':
     Metadata:
       title           : Unnamed
       comment         : N/A
     Duration: N/A, start: 0.066622, bitrate: N/A
       Stream #0.0: Video: h264 (Baseline), yuv420p, 640x480, 90k tbr, 90k tbn, 180k tbc
    [mpegts @ 0x1101d4c0] muxrate VBR, pcr every 9000 pkts, sdt every 200, pat/pmt every 40 pkts
    Output #0, mpegts, to '/tmp/test.ts':
     Metadata:
       title           : Unnamed
       comment         : N/A
       encoder         : Lavf53.4.0
       Stream #0.0: Video: libx264, yuv420p, 640x480, q=2-31, 90k tbn, 90k tbc
    Stream mapping:
     Stream #0.0 -> #0.0

    I receive the following error :

    [mpegts @ 0x1c85f960] h264 bitstream malformated, no startcode found, use -vbsf h264_mp4toannexb
    av_interleaved_write_frame(): Operation not permitted

    So I add the suggested bitstream filter :

    ffmpeg -i "test.sdp" -f mpegts -vbsf h264_mp4toannexb "/tmp/test.ts"

    But the h264 encoding now becomes h262 (mpeg2video) :

    ~$ffprobe /tmp/test.ts
    Input #0, mpegts, from '/tmp/test.ts':
     Duration: 00:00:04.13, start: 1.400000, bitrate: 640 kb/s
     Program 1
       Metadata:
         service_name    : Unnamed
         service_provider: FFmpeg
       Stream #0.0[0x100]: Video: mpeg2video (Main), yuv420p, 640x480 [PAR 1:1 DAR 4:3], 104857 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc

    Is there any way to keep the h264 codec without re-encoding it ? Doing so becomes very CPU intensive.

    Update

    Hopefully this will clear up the issue and remove the off-topic stamp.

    I'm writing an Android app that is based off of SpyDroids streaming architecture. The app communicates with the server, providing it the SDP. The server spawns an ffmpeg process to remux the incoming video stream into mpegts and broadcasts it on multicast (right now just file).

    SpyDroid performs streaming by sending recorded mp4 file through localsocket, received h264 packets, supposedly (according to code removed mp4 h264 prefix [annexb]), wraps it with rtp headrs and sends it on its way. Thus, the RPT stream I get is clearly not originally generated as such.

    As @Wagner Patriota has mentioned, I should add '-vcodec copy'. I had run the remuxing with it before as well but the error is still present (full output) :

    ~$ffmpeg -i "test.sdp" -f mpegts -vcodec copy -vbsf h264_mp4toannexb "/tmp/test.ts"
    ffmpeg version 0.8.6, Copyright (c) 2000-2011 the FFmpeg developers
     built on Jan 30 2012 17:17:54 with gcc 4.5.2
     configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-avfilter --enable-pthreads --enable-x11grab --disable-avisynth --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libx264 --enable-libxvid --extra-cflags='-O2 -g -m64 -mtune=generic -fPIC' --disable-stripping --disable-demuxer=v4l --disable-demuxer=v4l2 --disable-indev=v4l --disable-indev=v4l2
     libavutil    51.  9. 1 / 51.  9. 1
     libavcodec   53.  7. 0 / 53.  7. 0
     libavformat  53.  4. 0 / 53.  4. 0
     libavdevice  53.  1. 1 / 53.  1. 1
     libavfilter   2. 23. 0 /  2. 23. 0
     libswscale    2.  0. 0 /  2.  0. 0
     libpostproc  51.  2. 0 / 51.  2. 0
    [h264 @ 0x16b4b1c0] concealing 232 DC, 232 AC, 232 MV errors
    [h264 @ 0x16b4b1c0] concealing 63 DC, 63 AC, 63 MV errors
    [h264 @ 0x16b4b1c0] concealing 25 DC, 25 AC, 25 MV errors
    [h264 @ 0x16b4b1c0] concealing 138 DC, 138 AC, 138 MV errors
    [h264 @ 0x16b4b1c0] concealing 69 DC, 69 AC, 69 MV errors
    [sdp @ 0x16b43400] Estimating duration from bitrate, this may be inaccurate

    Seems stream 0 codec frame rate differs from container frame rate: 180000.00 (180000/1) -> 90000.00 (180000/2)
    Input #0, sdp, from 'test.sdp':
     Metadata:
       title           : Unnamed
       comment         : N/A
     Duration: N/A, start: 0.033256, bitrate: N/A
       Stream #0.0: Video: h264 (Baseline), yuv420p, 640x480, 90k tbr, 90k tbn, 180k tbc
    [mpegts @ 0x16b4a4c0] muxrate VBR, pcr every 9000 pkts, sdt every 200, pat/pmt every 40 pkts
    Output #0, mpegts, to '/tmp/test.ts':
     Metadata:
       title           : Unnamed
       comment         : N/A
       encoder         : Lavf53.4.0
       Stream #0.0: Video: libx264, yuv420p, 640x480, q=2-31, 90k tbn, 90k tbc
    Stream mapping:
     Stream #0.0 -> #0.0
    Press [q] to stop, [?] for help
    h264_mp4toannexb failed for stream 0, codec copy: Invalid argument
    [mpegts @ 0x16b4a4c0] h264 bitstream malformated, no startcode found, use -vbsf h264_mp4toannexb
    av_interleaved_write_frame(): Operation not permitted

    The error reports that the invalid argument has been supplied. Increased loglevel does not give any more information. I know that ffmpeg is sometimes finicky with argument order. However, they seen to be in order of documentation as well as suggested order by @Wagner Patriota.