Recherche avancée

Médias (1)

Mot : - Tags -/belgique

Autres articles (93)

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

  • Menus personnalisés

    14 novembre 2010, par

    MediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
    Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
    Menus créés à l’initialisation du site
    Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (5866)

  • varying RTP stream result from custom SIP implementation

    1er février, par Nik Hendricks

    I am in the process of creating my own SIP implementation in Node.js. As well as a b2bua as a learning project.

    


    Finding people wise in the ways of SIP has proved to be difficult elsewhere but here I have had good results

    


    this is the GitHub of my library so far node.js-sip

    


    this is the GitHub of my PBX so far FlowPBX

    


    Currently, everything is working as I expect. Although I really have some questions on possible errors in my implementation.

    


    My main issue is with RTP streams. Currently I am utilizing ffmpeg.

    


    my function goes as follows

    


    start_stream(call_id, sdp){
        console.log('Starting Stream')
        let port = sdp.match(/m=audio (\d+) RTP/)[1];
        let ip = sdp.match(/c=IN IP4 (\d+\.\d+\.\d+\.\d+)/)[1];
        let codec_ids = sdp.match(/m=audio \d+ RTP\/AVP (.+)/)[1].split(' ');
        let ffmpeg_codec_map = {
            'opus': 'libopus',
            'PCMU': 'pcm_mulaw',
            'PCMA': 'pcm_alaw',
            'telephone-event': 'pcm_mulaw',
            'speex': 'speex',
            'G722': 'g722',
            'G729': 'g729',
            'GSM': 'gsm',
            'AMR': 'amr',
            'AMR-WB': 'amr_wb',
            'iLBC': 'ilbc',
            'iSAC': 'isac',
        }

        let codecs = [];
        sdp.split('\n').forEach(line => {
            if(line.includes('a=rtpmap')){
                let codec = line.match(/a=rtpmap:(\d+) (.+)/)[2];
                let c_id = line.match(/a=rtpmap:(\d+) (.+)/)[1];
                codecs.push({                    
                    name: codec.split('/')[0],
                    rate: codec.split('/')[1],
                    channels: codec.split('/')[2] !== undefined ? codec.split('/')[2] : 1,
                    id: c_id
                })
            }
        })

        console.log('codecs')
        console.log(codecs)

        let selected_codec = codecs[0]
        if(selected_codec.name == 'telephone-event'){
            selected_codec = codecs[1]
            console.log(selected_codec)
        }

        //see if opus is available
        codecs.forEach(codec => {
            if(codec.name == 'opus'){
                selected_codec = codec;
            }
        })

        if(selected_codec.name != 'opus'){
            //check if g729 is available
            codecs.forEach(codec => {
                if(codec.name == 'G729'){
                    selected_codec = codec;
                }
            })
        }

        console.log('selected_codec')
        console.log(selected_codec)

        let spawn = require('child_process').spawn;
        let ffmpegArgs = [
            '-re',
            '-i', 'song.mp3',
            '-acodec', ffmpeg_codec_map[selected_codec.name],
            '-ar', selected_codec.rate,
            '-ac', selected_codec.channels,
            '-payload_type', selected_codec.id,
            '-f', 'rtp', `rtp://${ip}:${port}`
        ];

        let ffmpeg = spawn('ffmpeg', ffmpegArgs);

        ffmpeg.stdout.on('data', (data) => {
            console.log(`stdout: ${data}`);
        });
        ffmpeg.stderr.on('data', (data) => {
            console.error(`stderr: ${data}`);
        });




}


    


    When using zoiper to test it works great. I have seen the mobile version negotiate speex
and the desktop version negotiate opus mostly for the codec.

    


    today I tried to register a grandstream phone to my pbx and the rtp stream is blank audio.
opus is available and I have tried to prefer that in my stream but still even when selecting that I cannot get audio to the grandstream phone. This is the same case for a yealink phone. I can only get zoiper to work so far.

    


    what could be causing this behavior ? there is a clear path of communication between everything just like the zoiper client's I have used.

    


    Additionally in my sip implementation,
how important is the concept of a dialog ? currently, I just match messages by Call-ID

    


    and then choose what to send based on the method or response. is there any other underlying dialog functionality that I may need to implement ?

    


    It would just be awesome to get someone who really knows what they are talking about eyes on some of my code to direct this large codebase in the right direction but I realize that a big ask lol.

    


  • I want to change the file name with exiftool. To “Result of adding time zone (+9) to CreateDate”

    7 décembre 2019, par user3474300

    I shot a video with a sony camera.
    A file with the extension .mp4 was created.
    I want to change the shooting date and time to a file name.
    The environment is Windows10.


    What I tried

    I first dragged and dropped the .mp4 video file to exiftool (-k) .exe.

    ExifTool Version Number         : 11.76
    File Name                       : C0001.MP4
    File Modification Date/Time     : 2019:10:23 13:10:49+09:00
    File Access Date/Time           : 2019:11:17 21:50:24+09:00
    File Creation Date/Time         : 2019:11:17 21:50:21+09:00
    MIME Type                       : video/mp4
    Major Brand                     : Sony XAVC
    Create Date                     : 2019:10:23 04:10:32
    Modify Date                     : 2019:10:23 04:10:32
    Track Create Date               : 2019:10:23 04:10:32
    Track Modify Date               : 2019:10:23 04:10:32
    Media Create Date               : 2019:10:23 04:10:32
    Media Modify Date               : 2019:10:23 04:10:32
    Time Zone                       : +09:00
    Last Update                     : 2019:10:23 13:10:32+09:00
    Creation Date Value             : 2019:10:23 13:10:32+09:00

    I then typed the following command at a Windows 10 command prompt :

    C:\hoge>"exiftool(-k).exe" -r "-FileNamehoge/C0001.MP4
    Warning: Error removing old file - C:/hoge/C0001.MP4
       1 directories scanned
       1 image files updated
    -- press RETURN --

    The following file was created.

    2019-10-23_04-10-32 - C0001.MP4


    How can I output the following file ?

    I don’t know how to add time zone (+9) to CreateDate.

    2019_1023_131032.MP4

  • Choppy result from FFMPEG Concatenate

    21 juin 2018, par stonehenge

    I am using this code to merge mp4 files that all have identical encoding, format, etc. My issue is that there is choppiness / flickering at the seams where the videos are combined.
    ffmpeg -f concat -i mylist.txt -c copy output.mp4

    How can I ensure the files merge smoothly ?

    Here is the output from the command prompt.

    ffmpeg version N-91329-g830695be36 Copyright (c) 2000-2018 the FFmpeg developers
         built with gcc 7.3.0 (GCC)
         configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
         libavutil      56. 18.102 / 56. 18.102
         libavcodec     58. 20.103 / 58. 20.103
         libavformat    58. 17.100 / 58. 17.100
         libavdevice    58.  4.101 / 58.  4.101
         libavfilter     7. 25.100 /  7. 25.100
         libswscale      5.  2.100 /  5.  2.100
         libswresample   3.  2.100 /  3.  2.100
         libpostproc    55.  2.100 / 55.  2.100
       [mov,mp4,m4a,3gp,3g2,mj2 @ 000001d1aab03b80] Auto-inserting h264_mp4toannexb bitstream filter
       Input #0, concat, from 'mylist.txt':
         Duration: N/A, start: 0.000000, bitrate: 74 kb/s
           Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 74 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc
           Metadata:
             handler_name    : VideoHandler
       Output #0, mp4, to 'output2.mp4':
         Metadata:
           encoder         : Lavf58.17.100
           Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 74 kb/s, 24 fps, 24 tbr, 24k tbn, 24k tbc
           Metadata:
             handler_name    : VideoHandler
       Stream mapping:
         Stream #0:0 -> #0:0 (copy)
       Press [q] to stop, [?] for help
       [mov,mp4,m4a,3gp,3g2,mj2 @ 000001d1aab0c340] Auto-inserting h264_mp4toannexb bitstream filter
           Last message repeated 1 times
       frame=  195 fps=0.0 q=-1.0 Lsize=      77kB time=00:00:08.00 bitrate=  78.8kbits/s speed= 167x
       video:73kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 5.518728%

    ffmpeg version N-91329-g830695be36 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 7.3.0 (GCC)
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
     libavutil      56. 18.102 / 56. 18.102
     libavcodec     58. 20.103 / 58. 20.103
     libavformat    58. 17.100 / 58. 17.100
     libavdevice    58.  4.101 / 58.  4.101
     libavfilter     7. 25.100 /  7. 25.100
     libswscale      5.  2.100 /  5.  2.100
     libswresample   3.  2.100 /  3.  2.100
     libpostproc    55.  2.100 / 55.  2.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '0_10secs.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.17.100
     Duration: 00:00:09.71, start: 0.375000, bitrate: 74 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 71 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
       Metadata:
         handler_name    : VideoHandler
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '5_10secs.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.17.100
     Duration: 00:00:09.71, start: 0.375000, bitrate: 75 kb/s
       Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 72 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
       Metadata:
         handler_name    : VideoHandler
    Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '0_3secs.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.17.100
     Duration: 00:00:02.71, start: 0.375000, bitrate: 75 kb/s
       Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 70 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
       Metadata:
         handler_name    : VideoHandler
    Input #3, mov,mp4,m4a,3gp,3g2,mj2, from '10_10secs.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.17.100
     Duration: 00:00:09.71, start: 0.375000, bitrate: 75 kb/s
       Stream #3:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 72 kb/s, 24 fps, 24 tbr, 24k tbn, 48 tbc (default)
       Metadata:
         handler_name    : VideoHandler
    At least one output file must be specified