Recherche avancée

Médias (91)

Autres articles (112)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

Sur d’autres sites (12684)

  • How to reduce size of moov atom of H.264 movies to improve streaming start for smartphones ?

    14 avril 2013, par alebedev

    We run a video service streaming movies to smartphones (iOS&Android).
    We are encoding in H.264+AAC and using the mp4 container.
    We have a problem that long movies (60 minutes+) take a very long time to
    start playing and have tracked this down to the large size of moov
    atom for these movies.
    For 110 minute movies the atom is as large as 4.2Mb which obviously takes a long
    time to download to a smart-phone over 3G !

    Is there anyway to make the moov atom smaller ? We can reduce it bit
    by dropping the audio sampling rate, but obviously anything below 22kHz
    would not really be acceptable.

    We are using ffmpeg as the encoder, and MP4Box to move the metadata
    to the front of the file. Is there any way to get it to make
    a smaller moov ? Any other encoders out there which make a smaller moov ?

    For example...

    Big size (280 Mb, 1h 49min) streamable mp4 (h.264, AAC) file have a big header size (4.2 Mb). File was encoded by two pass ffmpeg and MP4Box for replacing metadata into beginning of the file :

    /usr/bin/ffmpeg -i /var/lib/encoder/incoming/2388 -aspect 320:210 -threads 8 -vcodec libx264 -profile baseline -level 13 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -b:v 270k -maxrate 270k -bufsize 270k -g 30 -passlogfile /tmp/mediaservice/3100/video-IPH.ffmpeg -an -f rawvideo -pass 1 -y /dev/null

    /usr/bin/ffmpeg -i /var/lib/encoder/incoming/2388 -aspect 320:210 -threads 8 -vcodec libx264 -profile baseline -level 13 -flags +loop+mv4 -cmp 256 -partitions +parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -me_method hex -subq 7 -trellis 1 -refs 5 -bf 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -b:v 270k -maxrate 270k -bufsize 270k -g 30 -passlogfile /tmp/mediaservice/3100/video-IPH.ffmpeg -acodec libfaac -ac 2 -b:a 32k -ar 44100 -f mp4 -pass 2 -y /var/lib/encoder/encoded/3100/video-IPH.mp4

    /usr/bin/MP4Box -quiet -tmp /tmp/mediaservice/3100/ -inter 500 /var/lib/encoder/encoded/3100/video-IPH.mp4

    Media info (audio sample rate = 44100) :

    General
    Count                                    : 278
    Count of stream of this kind             : 1
    Kind of stream                           : General
    Kind of stream                           : General
    Stream identifier                        : 0
    Count of video streams                   : 1
    Count of audio streams                   : 1
    Video_Format_List                        : AVC
    Video_Format_WithHint_List               : AVC
    Codecs Video                             : AVC
    Audio_Format_List                        : AAC
    Audio_Format_WithHint_List               : AAC
    Audio codecs                             : AAC LC
    Complete name                            : 1348645218_970458_2465.iph.mp4
    File name                                : 1348645218_970458_2465.iph.mp4
    File extension                           : mp4
    Format                                   : MPEG-4
    Format                                   : MPEG-4
    Format/Extensions usually used           : mp4 m4v m4a m4b m4p 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma f4v
    Commercial name                          : MPEG-4
    Format profile                           : Base Media
    Internet media type                      : video/mp4
    Codec ID                                 : isom
    Codec ID/Url                             : http://www.apple.com/quicktime/download/standalone.html
    Codec                                    : MPEG-4
    Codec                                    : MPEG-4
    Codec/Extensions usually used            : mp4 m4v m4a m4b m4p 3gpp 3gp 3gpp2 3g2 k3g jpm jpx mqv ismv isma f4v
    File size                                : 272703970
    File size                                : 260 MiB
    File size                                : 260 MiB
    File size                                : 260 MiB
    File size                                : 260 MiB
    File size                                : 260.1 MiB
    Duration                                 : 6556027
    Duration                                 : 1h 49mn
    Duration                                 : 1h 49mn 16s 27ms
    Duration                                 : 1h 49mn
    Duration                                 : 01:49:16.027
    Overall bit rate                         : 332767
    Overall bit rate                         : 333 Kbps
    Stream size                              : 4230761
    Stream size                              : 4.03 MiB (2%)
    Stream size                              : 4 MiB
    Stream size                              : 4.0 MiB
    Stream size                              : 4.03 MiB
    Stream size                              : 4.035 MiB
    Stream size                              : 4.03 MiB (2%)
    Proportion of this stream                : 0.01551
    HeaderSize                               : 4230683
    DataSize                                 : 268473217
    FooterSize                               : 70
    IsStreamable                             : Yes
    File last modification date              : UTC 2012-09-26 12:38:19
    File last modification date (local)      : 2012-09-26 21:38:19
    Writing application                      : Lavf54.6.100

    Video
    Count                                    : 201
    Count of stream of this kind             : 1
    Kind of stream                           : Video
    Kind of stream                           : Video
    Stream identifier                        : 0
    ID                                       : 1
    ID                                       : 1
    Format                                   : AVC
    Format/Info                              : Advanced Video Codec
    Format/Url                               : http://developers.videolan.org/x264.html
    Commercial name                          : AVC
    Format profile                           : Baseline@L1.3
    Format settings                          : 5 Ref Frames
    Format settings, CABAC                   : No
    Format settings, CABAC                   : No
    Format settings, ReFrames                : 5
    Format settings, ReFrames                : 5 frames
    Format settings, GOP                     : M=1, N=30
    Internet media type                      : video/H264
    Codec ID                                 : avc1
    Codec ID/Info                            : Advanced Video Coding
    Codec ID/Url                             : http://www.apple.com/quicktime/download/standalone.html
    Codec                                    : AVC
    Codec                                    : AVC
    Codec/Family                             : AVC
    Codec/Info                               : Advanced Video Codec
    Codec/Url                                : http://developers.videolan.org/x264.html
    Codec/CC                                 : avc1
    Codec profile                            : Baseline@L1.3
    Codec settings                           : 5 Ref Frames
    Codec settings, CABAC                    : No
    Codec_Settings_RefFrames                 : 5
    Duration                                 : 6556017
    Duration                                 : 01:49:16.017
    Bit rate                                 : 270000
    Bit rate                                 : 270 Kbps
    Width                                    : 480
    Width                                    : 480 pixels
    Height                                   : 270
    Height                                   : 270 pixels
    Pixel aspect ratio                       : 1.000
    Display aspect ratio                     : 1.778
    Display aspect ratio                     : 16:9
    Rotation                                 : 0.000
    Frame rate mode                          : CFR
    Frame rate mode                          : Constant
    FrameRate_Mode_Original                  : VFR
    Frame rate                               : 29.970
    Frame rate                               : 29.970 fps
    Frame count                              : 196484
    Resolution                               : 8
    Resolution                               : 8 bits
    Colorimetry                              : 4:2:0
    Color space                              : YUV
    Chroma subsampling                       : 4:2:0
    Bit depth                                : 8
    Bit depth                                : 8 bits
    Scan type                                : Progressive
    Scan type                                : Progressive
    Interlacement                            : PPF
    Interlacement                            : Progressive
    Bits/(Pixel*Frame)                       : 0.070
    Stream size                              : 220159060
    Stream size                              : 210 MiB (81%)
    Stream size                              : 210 MiB
    Stream size                              : 210 MiB
    Stream size                              : 210 MiB
    Stream size                              : 210.0 MiB
    Stream size                              : 210 MiB (81%)
    Proportion of this stream                : 0.80732
    Writing library                          : x264 - core 125
    Writing library                          : x264 core 125
    Writing library/Name                     : x264
    Writing library/Version                  : core 125
    Encoding settings                        : cabac=0 / ref=5 / deblock=1:0:0 / analyse=0x1:0x131 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=8 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=30 / keyint_min=16 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=2pass / mbtree=1 / bitrate=270 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=270 / vbv_bufsize=270 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00
    Tagged date                              : UTC 2012-09-25 07:21:37

    Audio
    Count                                    : 169
    Count of stream of this kind             : 1
    Kind of stream                           : Audio
    Kind of stream                           : Audio
    Stream identifier                        : 0
    ID                                       : 2
    ID                                       : 2
    Format                                   : AAC
    Format/Info                              : Advanced Audio Codec
    Commercial name                          : AAC
    Format profile                           : LC
    Codec ID                                 : 40
    Codec                                    : AAC LC
    Codec                                    : AAC LC
    Codec/Family                             : AAC
    Codec/CC                                 : 40
    Duration                                 : 6556027
    Duration                                 : 1h 49mn
    Duration                                 : 1h 49mn 16s 27ms
    Duration                                 : 1h 49mn
    Duration                                 : 01:49:16.027
    Bit rate mode                            : VBR
    Bit rate mode                            : Variable
    Bit rate                                 : 58955
    Bit rate                                 : 59.0 Kbps
    Maximum bit rate                         : 270000
    Maximum bit rate                         : 270 Kbps
    Channel(s)                               : 2
    Channel(s)                               : 2 channels
    Channel positions                        : Front: L R
    Channel positions                        : 2/0/0
    Sampling rate                            : 44100
    Sampling rate                            : 44.1 KHz
    Samples count                            : 289120791
    Compression mode                         : Lossy
    Compression mode                         : Lossy
    Stream size                              : 48314149
    Stream size                              : 46.1 MiB (18%)
    Stream size                              : 46 MiB
    Stream size                              : 46 MiB
    Stream size                              : 46.1 MiB
    Stream size                              : 46.08 MiB
    Stream size                              : 46.1 MiB (18%)
    Proportion of this stream                : 0.17717
    Tagged date                              : UTC 2012-09-25 07:21:37

    Moov atom info (/moov/trak[0] - video, /moov/trak[1] - audio) sample rate 44100 :
    (look stsz and stts nodes in trak)

    Atom ftyp @ 0 of size: 32, ends @ 32
    Atom moov @ 32 of size: 4230651, ends @ 4230683
        Atom mvhd @ 40 of size: 108, ends @ 148
        Atom trak @ 148 of size: 868970, ends @ 869118
            Atom tkhd @ 156 of size: 92, ends @ 248
            Atom edts @ 248 of size: 36, ends @ 284
                Atom elst @ 256 of size: 28, ends @ 284
            Atom mdia @ 284 of size: 868834, ends @ 869118
                Atom mdhd @ 292 of size: 32, ends @ 324
                Atom hdlr @ 324 of size: 45, ends @ 369
                Atom minf @ 369 of size: 868749, ends @ 869118
                    Atom vmhd @ 377 of size: 20, ends @ 397
                    Atom dinf @ 397 of size: 36, ends @ 433
                        Atom dref @ 405 of size: 28, ends @ 433
                    Atom stbl @ 433 of size: 868685, ends @ 869118
                        Atom stsd @ 441 of size: 149, ends @ 590
                            Atom avc1 @ 457 of size: 133, ends @ 590
                                Atom avcC @ 543 of size: 47, ends @ 590
                        Atom stts @ 590 of size: 24, ends @ 614
                        Atom stss @ 614 of size: 26340, ends @ 26954
                        Atom stsc @ 26954 of size: 52, ends @ 27006
                        Atom stsz @ 27006 of size: 785956, ends @ 812962
                        Atom stco @ 812962 of size: 56156, ends @ 869118
        Atom trak @ 869118 of size: 3361468, ends @ 4230586
            Atom tkhd @ 869126 of size: 92, ends @ 869218
            Atom edts @ 869218 of size: 36, ends @ 869254
                Atom elst @ 869226 of size: 28, ends @ 869254
            Atom mdia @ 869254 of size: 3361332, ends @ 4230586
                Atom mdhd @ 869262 of size: 32, ends @ 869294
                Atom hdlr @ 869294 of size: 45, ends @ 869339
                Atom minf @ 869339 of size: 3361247, ends @ 4230586
                    Atom smhd @ 869347 of size: 16, ends @ 869363
                    Atom dinf @ 869363 of size: 36, ends @ 869399
                        Atom dref @ 869371 of size: 28, ends @ 869399
                    Atom stbl @ 869399 of size: 3361187, ends @ 4230586
                        Atom stsd @ 869407 of size: 91, ends @ 869498
                            Atom mp4a @ 869423 of size: 75, ends @ 869498
                                Atom esds @ 869459 of size: 39, ends @ 869498
                        **Atom stts @ 869498 of size: 2135816, ends @ 3005314**
                        Atom stsc @ 3005314 of size: 39712, ends @ 3045026
                        **Atom stsz @ 3045026 of size: 1129400, ends @ 4174426**
                        Atom stco @ 4174426 of size: 56160, ends @ 4230586
        Atom udta @ 4230586 of size: 97, ends @ 4230683
            Atom meta @ 4230594 of size: 89, ends @ 4230683
                Atom hdlr @ 4230606 of size: 33, ends @ 4230639
                Atom ilst @ 4230639 of size: 44, ends @ 4230683
                    Atom ©too @ 4230647 of size: 36, ends @ 4230683
                        Atom data @ 4230655 of size: 28, ends @ 4230683
    Atom mdat @ 4230683 of size: 268473217, ends @ 272703900
    Atom free @ 272703900 of size: 8, ends @ 272703908
    Atom free @ 272703908 of size: 62, ends @ 272703970
    ------------------------------------------------------
    Total size: 272703970 bytes; 50 atoms total. AtomicParsley version: 0.9.0 (utf8)
    Media data: 268473217 bytes; 4230753 bytes all other atoms (1.551% atom overhead).
    Total free atom space: 70 bytes; 0.000% waste. Padding available: 0 bytes.
    ------------------------------------------------------

    After reencoding this movie with audio sample rate 11025 header size much less :

    Media info (audio sample rate = 11025) : (crop duplicate info)

    General
    ***
    HeaderSize                               : 1276359

    Video
    ***

    Audio
    Count                                    : 169
    Count of stream of this kind             : 1
    Kind of stream                           : Audio
    Kind of stream                           : Audio
    Stream identifier                        : 0
    ID                                       : 2
    ID                                       : 2
    Format                                   : AAC
    Format/Info                              : Advanced Audio Codec
    Commercial name                          : AAC
    Format profile                           : LC
    Codec ID                                 : 40
    Codec                                    : AAC LC
    Codec                                    : AAC LC
    Codec/Family                             : AAC
    Codec/CC                                 : 40
    Duration                                 : 6556132
    Duration                                 : 1h 49mn
    Duration                                 : 1h 49mn 16s 132ms
    Duration                                 : 1h 49mn
    Duration                                 : 01:49:16.132
    Bit rate mode                            : VBR
    Bit rate mode                            : Variable
    Bit rate                                 : 37991
    Bit rate                                 : 38.0 Kbps
    Maximum bit rate                         : 128000
    Maximum bit rate                         : 128 Kbps
    Channel(s)                               : 2
    Channel(s)                               : 2 channels
    Channel positions                        : Front: L R
    Channel positions                        : 2/0/0
    Sampling rate                            : 11025
    Sampling rate                            : 11.025 KHz
    Samples count                            : 72281355
    Compression mode                         : Lossy
    Compression mode                         : Lossy
    Stream size                              : 31134257
    Stream size                              : 29.7 MiB (12%)
    Stream size                              : 30 MiB
    Stream size                              : 30 MiB
    Stream size                              : 29.7 MiB
    Stream size                              : 29.69 MiB
    Stream size                              : 29.7 MiB (12%)
    Proportion of this stream                : 0.12327
    Tagged date                              : UTC 2012-09-25 13:20:28

    Moov atom info (/moov/trak[0] - video, /moov/trak[1] - audio) sample rate 11025 :

    Atom ftyp @ 0 of size: 32, ends @ 32
    Atom moov @ 32 of size: 1276327, ends @ 1276359
        Atom mvhd @ 40 of size: 108, ends @ 148
        Atom trak @ 148 of size: 821662, ends @ 821810
            Atom tkhd @ 156 of size: 92, ends @ 248
            Atom edts @ 248 of size: 36, ends @ 284
                Atom elst @ 256 of size: 28, ends @ 284
            Atom mdia @ 284 of size: 821526, ends @ 821810
                Atom mdhd @ 292 of size: 32, ends @ 324
                Atom hdlr @ 324 of size: 45, ends @ 369
                Atom minf @ 369 of size: 821441, ends @ 821810
                    Atom vmhd @ 377 of size: 20, ends @ 397
                    Atom dinf @ 397 of size: 36, ends @ 433
                        Atom dref @ 405 of size: 28, ends @ 433
                    Atom stbl @ 433 of size: 821377, ends @ 821810
                        Atom stsd @ 441 of size: 149, ends @ 590
                            Atom avc1 @ 457 of size: 133, ends @ 590
                                Atom avcC @ 543 of size: 47, ends @ 590
                        Atom stts @ 590 of size: 24, ends @ 614
                        Atom stss @ 614 of size: 26340, ends @ 26954
                        Atom stsc @ 26954 of size: 52, ends @ 27006
                        Atom stsz @ 27006 of size: 785956, ends @ 812962
                        Atom stco @ 812962 of size: 8848, ends @ 821810
        Atom trak @ 821810 of size: 454452, ends @ 1276262
            Atom tkhd @ 821818 of size: 92, ends @ 821910
            Atom edts @ 821910 of size: 36, ends @ 821946
                Atom elst @ 821918 of size: 28, ends @ 821946
            Atom mdia @ 821946 of size: 454316, ends @ 1276262
                Atom mdhd @ 821954 of size: 32, ends @ 821986
                Atom hdlr @ 821986 of size: 45, ends @ 822031
                Atom minf @ 822031 of size: 454231, ends @ 1276262
                    Atom smhd @ 822039 of size: 16, ends @ 822055
                    Atom dinf @ 822055 of size: 36, ends @ 822091
                        Atom dref @ 822063 of size: 28, ends @ 822091
                    Atom stbl @ 822091 of size: 454171, ends @ 1276262
                        Atom stsd @ 822099 of size: 91, ends @ 822190
                            Atom mp4a @ 822115 of size: 75, ends @ 822190
                                Atom esds @ 822151 of size: 39, ends @ 822190
                        Atom stts @ 822190 of size: 161368, ends @ 983558
                        Atom stsc @ 983558 of size: 1480, ends @ 985038
                        Atom stsz @ 985038 of size: 282372, ends @ 1267410
                        Atom stco @ 1267410 of size: 8852, ends @ 1276262
        Atom udta @ 1276262 of size: 97, ends @ 1276359
            Atom meta @ 1276270 of size: 89, ends @ 1276359
                Atom hdlr @ 1276282 of size: 33, ends @ 1276315
                Atom ilst @ 1276315 of size: 44, ends @ 1276359
                    Atom ©too @ 1276323 of size: 36, ends @ 1276359
                        Atom data @ 1276331 of size: 28, ends @ 1276359
    Atom mdat @ 1276359 of size: 251293325, ends @ 252569684
    Atom free @ 252569684 of size: 8, ends @ 252569692
    Atom free @ 252569692 of size: 62, ends @ 252569754
    ------------------------------------------------------
    Total size: 252569754 bytes; 50 atoms total. AtomicParsley version: 0.9.0 (utf8)
    Media data: 251293325 bytes; 1276429 bytes all other atoms (0.505% atom overhead).
    Total free atom space: 70 bytes; 0.000% waste. Padding available: 0 bytes.
    ------------------------------------------------------

    On slow connection this movie start playing after 30-40 seconds until header info (4.2 Mb) downloading. I need that movie start playing fast as it possible. And i have next questions :

    1. How reduce size of movie header ?

    2. How reduce size of
      /moov[0]/trak[1]/mdia[0]/minf[0]/stbl[0] and why it so big when
      sample rate 44100 ?

  • Working a mac application that needs to encode video [closed]

    9 février 2013, par Anand

    I am pretty new to xcode world. I am looking for a Tutorial to help me out to create a mac osx xcode project that encodes one format of video to other.
    For example the app will take and avi file and convert it to mp4.
    I see that ffmpeg and other libraries are available but none i am aware of how to use them in a xcode project.
    I am looking for a very very simple form of http://handbrake.fr/ mac application.

    A link to - simple step by step explanation of how to use a simple dylib file would do.

  • Hung out to dry

    31 mai 2013, par Mans — Law and liberty

    Outrage was the general reaction when Google recently announced their dropping of XMPP server-to-server federation from Hangouts, as the search giant’s revamped instant messaging platform is henceforth to be known. This outrage is, however, largely unjustified ; Google’s decision is merely a rational response to issues of a more fundamental nature. To see why, we need to step back and look at the broader instant messaging landscape.

    A brief history of IM

    The term instant messaging (IM) gained popularity in the mid-1990s along with the rise of chat clients such as ICQ, AOL Instant Messenger, and later MSN Messenger. These all had one thing in common : they were closed systems. Although global in the sense of allowing access from anywhere on the Internet, communication was possible only within each network, and only using the officially sanctioned client software. Contrast this with email, where users are free to choose any service provider as well as client software, inter-server communication over open protocols delivering messages to their proper destinations.

    The email picture has, however, not always been so rosy. During the 1970s and 80s a multitude of incompatible email systems (e.g. UUCP and X.400) were in more or less widespread use on various networks. As these networks gave way to the ARPANET/Internet, so did their mail systems to the SMTP email we all use today. A similar consolidation has yet to occur in the area of instant messaging.

    Over the years, a few efforts towards a cross-domain instant messaging have been undertaken. One early example is the Zephyr system created as part of Project Athena at MIT in the late 1980s. While it never saw significant uptake, it is still in use at a few universities. A more successful story is that of XMPP. Conceived under the name Jabber in the late 1990s, XMPP is an open standard specified in a set of IETF RFCs. In addition to being open, a distinguishing feature of XMPP compared to other contemporary IM systems is its decentralised nature, server-to-server connections allowing communication between users with accounts on different systems. Just like email.

    The social network

    A more recent emergence on the Internet is the social network. Although not the first of its kind, Facebook was the first to achieve its level of penetration, both geographically and across social groups. A range of messaging options, including email-style as well as instant messaging (chat), are available, all within the same web interface. What it does not allow is communication outside the Facebook network. Other social networks operate in the same spirit.

    The popularity of social networks, to the extent that they for many constitute the primary means of communication, has in a sense brought back fragmented networks of the 1980s. Even though they share infrastructure, up to and including the browser application, the social networks create walled-off regions of the Internet between which little or no exchange is possible.

    The house that Google built

    In 2005, Google launched Talk, an XMPP-based instant messaging service allowing users to connect using either Google’s official client application or any third-party XMPP client. Soon after, server-to-server federation was activated, enabling anyone with a Google account to exchange instant messages with users of any other federated XMPP service. An in-browser chat interface was also added to Gmail.

    It was arguably only with the 2011 introduction of Google+ that Google, despite its previous endeavours with Orkut and Buzz, had a viable contender in the social networking space. Since its inception, Google+ has gone through a number of changes where features have been added or reworked. Instant messaging within Google+ was until recently available only in mobile clients. On the desktop, the sole messaging option was Hangouts which, although featuring text chat, cannot be considered instant messaging in the usual sense.

    With a sprawling collection of messaging systems (Talk, Google+ Messenger, Hangouts), some action to consolidate them was a logical step. What we got was a unification under the Hangouts name. A redesigned Google+ now sports in-browser instant messaging similar the the Talk interface already present in Gmail. At the same time, the standalone desktop Talk client is discontinued, as is the Messenger feature in mobile Google+. All together, the changes make for a much less confusing user experience.

    The sky is falling down

    Along with the changes to the messaging platform, one announcement stoked anger on the Internet : Google’s intent to discontinue XMPP federation (as of this writing, it is still operational). Google, the (self-described) champions of openness on the Internet were seen to be closing their doors to the outside world. The effects of the change are, however, not quite so earth-shattering. Of the other major messaging networks to offer XMPP at all (Facebook, Skype, and the defunct Microsoft Messenger), none support federation ; a Google user has never been able to chat with a Facebook user.

    XMPP federation appears to be in use mainly by non-profit organisations or individuals running their own servers. The number of users on these systems is hard to assess, though it seems fair to assume it is dwarfed by the hundreds of millions using Google or Facebook. As such, the overall impact of cutting off communication with the federated servers is relatively minor, albeit annoying for those affected.

    A fragmented world

    Rather than chastising Google for making a low-impact, presumably founded, business decision, we should be asking ourselves why instant messaging is still so fragmented in the first place, whereas email is not. The answer can be found by examining the nature of entities providing these services.

    Ever since the commercialisation of the Internet started in the 1990s, email has been largely seen as being part of the Internet. Access to email was a major selling point for Internet service providers ; indeed, many still use the email facilities of their ISP. Instant messaging, by contrast, has never come as part of the basic offering, rather being a third-party service running on top of the Internet.

    Users wishing to engage in instant messaging have always had to seek out and sign up with a provider of such a service. As the IM networks were isolated, most would choose whichever service their friends were already using, and a small number of networks, each with a sustainable number of users, came to dominate. In the early days, dedicated IM services such as ICQ were popular. Today, social networks have taken their place with Facebook currently in the dominant position. With the new Hangouts, Google offers its users the service they want in the way they have come to expect.

    Follow the money

    We now have all the pieces necessary to see why inter-domain instant messaging has never taken off, and the answer is simple : the major players have no commercial incentive to open access to their IM networks. In fact, they have good reason to keep the networks closed. Ensuring that a person leaving the network loses contact with his or her friends, increases user retention by raising the cost of switching to another service. Monetising users is also better facilitated if they are forced to remain on, say, Facebook’s web pages while using its services rather than accessing them indirectly, perhaps even through a competing (Google, say) frontend. The users do not generally care much, since all their friends are already on the same network as themselves.

    While Google Talk was a standalone service, only loosely coupled to other Google products, these aspects were of lesser importance. After all, Google still had access to all the messages passing through the system and could analyse them for advert targeting purposes. Now that messaging is an integrated part of Google+, and thus serves as a direct competitor to the likes of Facebook, the situation has changed. All the reasons for Facebook not to open its network now apply equally to Google as well.