Recherche avancée

Médias (91)

Autres articles (94)

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

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

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

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

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

  • Compress Videos using FFMPEG and JNI

    1er octobre 2014, par Mr.G

    I want to create an android application which can locate a video file (which is more than 300 mb) and compress it to lower size mp4 file.

    i already tried to do it with this

    This tutorial is a very effective since you ’re compressing a small size video (below than 100 mb)

    So i tried to implement it using JNI .

    i managed to build ffmpeg using this

    But currently what I want to do is to compress videos . I don’t have very good knowledge on JNI. But i tried to understand it using following link

    If some one can guide me the steps to compress video after open file it using JNI that whould really great , thanks