Comment publier des GIF animés sur Facebook?

22

Un ami a publié une image qui s'animait directement dans le flux de messages sur ma page d'accueil Facebook. Comment est-ce possible? Comment cela peut-il être fait?

Il s'agit de l'URL utilisée par Facebook: http://photos-c.ak.fbcdn.net/hphotos-ak-snc3/29301_442976909814_310716489814_5773694_3162803_s.jpg

S'agit-il d'une image GIF qui vient d'être renommée .jpg? Probablement pas.

Je ne sais pas si cela aide ou quoi que ce soit, mais voici la partie (script) qui contient cette URL d'image:

<script>big_pipe.onPageletArrive({"phase":4,"id":"pagelet_photo_bar","css":["aes1F","FPnMi"],"js":["Py8xV","1k++i","9qrJd"],"onload":["PhotoTheater.init(HTML(\"\\u003cdiv id=\\\"fbPhotoTheater\\\" class=\\\"fbPhotoTheater hidden_elem narrowerWhiteBar\\\" tabindex=\\\"0\\\" role=\\\"region\\\" aria-label=\\\"Facebook-Diashow\\\" aria-busy=\\\"true\\\">\\u003cdiv class=\\\"container\\\">\\u003cdiv class=\\\"positioner\\\">\\u003ca class=\\\"uiTooltip closeTheater\\\" href=\\\"#\\\">\\u003ci class=\\\"closeImage img sp_6lzo0r sx_bbf9a4\\\">\\u003c\\\/i>\\u003cspan class=\\\"uiTooltipWrap middle left leftmiddle\\\">\\u003cspan class=\\\"uiTooltipText uiTooltipNoWrap\\\">Schlie\\u00dfen\\u003c\\\/span>\\u003c\\\/span>\\u003c\\\/a>\\u003c\\\/div>\\u003cdiv class=\\\"stageBackdrop\\\">\\u003c\\\/div>\\u003cdiv class=\\\"stageWrapper\\\">\\u003cdiv class=\\\"stage\\\">\\u003cimg src=\\\"\\\/images\\\/loaders\\\/indicator_black.gif\\\" class=\\\"spotlight\\\" \\\/> \\u003cdiv class=\\\"fbPhotosTheaterTags tagContainer\\\" id=\\\"fbPhotoTheaterTags\\\">\\u003cdiv class=\\\"tagsWrapper\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"videoStage\\\"> \\u003c\\\/div>\\u003cdiv id=\\\"fbPhotoTheaterError\\\" class=\\\"fbPhotoTheaterError hidden_elem stageError\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"stageActions\\\" id=\\\"fbPhotoTheaterStageActions\\\">\\u003ca class=\\\"prev\\\" href=\\\"#\\\" title=\\\"Zur\\u00fcck\\\">\\u003c\\\/a>\\u003ca class=\\\"next\\\" href=\\\"#\\\" title=\\\"Weiter\\\">\\u003c\\\/a>\\u003cdiv class=\\\"fbPhotoTheaterButtons\\\" id=\\\"fbPhotoTheaterButtons\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003cdiv class=\\\"photoInfoWrapper\\\">\\u003ctable class=\\\"uiGrid fbPhotoTheaterGrid photoInfo\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\">\\u003ctbody>\\u003ctr>\\u003ctd class=\\\"vTop detailsCell\\\">\\u003cdiv class=\\\"detailsContainer\\\">\\u003cdiv id=\\\"fbPhotoTheaterTitle\\\">\\u003c\\\/div>\\u003cspan id=\\\"fbPhotoTheaterContributors\\\">\\u003c\\\/span> \\u003cspan class=\\\"fsm fwn fcg\\\" id=\\\"fbPhotoTheaterCount\\\">\\u003c\\\/span>\\u003chr class=\\\"mvm\\\" \\\/>\\u003cdiv id=\\\"fbPhotosTheaterActions\\\" class=\\\"fbPhotosTheaterActions\\\">\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003ctd class=\\\"vTop commentsCell\\\">\\u003cdiv class=\\\"commentsContainer\\\">\\u003cdiv class=\\\"fbPhotosTaglist mbm tagpile\\\" id=\\\"fbPhotosTaglist\\\">\\u003cspan class=\\\"caption fsm fwn fcg\\\">Auf diesem Foto: \\u003c\\\/span>\\u003c\\\/div>\\u003cdiv id=\\\"fbPhotoTheaterUfi\\\">\\u003cform rel=\\\"async\\\" class=\\\"commentable_item autoexpand_mode\\\" method=\\\"post\\\" action=\\\"\\\/ajax\\\/ufi\\\/modify.php\\\" onsubmit=\\\"return Event.__inlineSubmit(this,event)\\\">\\u003cinput type=\\\"hidden\\\" name=\\\"charset_test\\\" value=\\\"&euro;,&acute;,\\u20ac,\\u00b4,\\u6c34,\\u0414,\\u0404\\\" \\\/>\\u003cinput type=\\\"hidden\\\" autocomplete=\\\"off\\\" name=\\\"post_form_id\\\" value=\\\"10711e587b061f39240641dbc74019ac\\\" \\\/>\\u003cinput type=\\\"hidden\\\" name=\\\"fb_dtsg\\\" value=\\\"AQBfQgRs\\\" autocomplete=\\\"off\\\" \\\/>\\u003c\\\/form>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003ctd class=\\\"vTop adsCell\\\">\\u003cdiv class=\\\"adsContainer\\\">\\u003cdiv class=\\\"clearfix\\\">\\u003cdiv id=\\\"fbPhotoTheaterEgo\\\" class=\\\"fbPhotoTheaterEgo\\\">\\u003c\\\/div>\\u003cdiv class=\\\"fbPhotoTheaterEgoSponsored fss fwn fcg\\\">Gesponsert\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/td>\\u003c\\\/tr>\\u003c\\\/tbody>\\u003c\\\/table>\\u003c\\\/div>\\u003c\\\/div>\\u003c\\\/div>\"));"],"onafterload":["Bootloader.loadComponents([\"fb-photos-theater-css\"], function(){  });"],"content":{"pagelet_photo_bar":"\u003cdiv class=\"mbm fbProfilePhotoStrip\">\u003cul class=\"fbProfilePhotoBar\">\u003cli class=\"stat_elem\" id=\"thumb193067094054363\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=193067094054363&amp;set=t.100000400858474&amp;type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=193067094054363&amp;set=t.100000400858474&amp;type=1&amp;src=http\u00253A\u00252F\u00252Fa1.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc6\u00252F179200_193067094054363_100000532222327_655777_5428850_n.jpg&amp;theater\">\u003ci style=\"background-image: url(http:\/\/photos-a.ak.fbcdn.net\/hphotos-ak-snc6\/179200_193067094054363_100000532222327_655777_5428850_s.jpg); background-position: -33px -17px;\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\" id=\"thumb185312914825402\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=185312914825402&amp;set=t.100000400858474&amp;type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=185312914825402&amp;set=t.100000400858474&amp;type=1&amp;src=http\u00253A\u00252F\u00252Fa8.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc6\u00252F165369_185312914825402_100000400858474_523262_6205304_n.jpg&amp;theater\">\u003ci style=\"background-image: url(http:\/\/photos-h.ak.fbcdn.net\/hphotos-ak-snc6\/165369_185312914825402_100000400858474_523262_6205304_s.jpg); background-position: -22px -30px;\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\" id=\"thumb175015452521815\">\u003ca class=\"uiMediaThumb fbProfilePhotoThumb uiMediaThumbMedium\" href=\"http:\/\/www.facebook.com\/photo.php?fbid=175015452521815&amp;set=a.175015445855149.34462.100000400858474&amp;type=1\" rel=\"theater\" ajaxify=\"http:\/\/www.facebook.com\/photo.php?fbid=175015452521815&amp;set=a.175015445855149.34462.100000400858474&amp;type=1&amp;src=http\u00253A\u00252F\u00252Fa6.sphotos.ak.fbcdn.net\u00252Fhphotos-ak-snc4\u00252F156854_175015452521815_100000400858474_459703_1557976_n.jpg&amp;theater\">\u003ci style=\"background-image: url(http:\/\/photos-f.ak.fbcdn.net\/hphotos-ak-snc4\/156854_175015452521815_100000400858474_459703_1557976_s.jpg);\">\u003c\/i>\u003c\/a>\u003c\/li>\u003cli class=\"stat_elem\">\u003cdiv class=\"fbProfilePhotoThumbEmpty\">\u003c\/div>\u003c\/li>\u003cli class=\"stat_elem\">\u003cdiv class=\"fbProfilePhotoThumbEmpty\">\u003c\/div>\u003c\/li>\u003c\/ul>\u003c\/div>"}});</script> 

La partie importante de ce qui précède semble être ici:

style=\"background-image: url(http:\/\/photos-f.ak.fbcdn.net\/hphotos-ak-snc4\/156854_175015452521815_100000400858474_459703_1557976_s.jpg);\">
bitbonk
la source
Vous ne pouvez pas simplement renommer un gif en jpg et vous attendre à ce que cela fonctionne.
ChrisF
Ouais, je viens d'essayer ça. Le GIF est toujours affiché correctement sur Facebook mais ne s'anime pas.
bitbonk

Réponses:

15

Mai 2015

http://mashable.com/2015/05/29/facebook-gif-support/

La première chose à garder à l'esprit est que la fonctionnalité fonctionne avec les liens GIF, pas avec les téléchargements GIF. Au moins pour l'instant, tenter de télécharger votre GIF préféré ne donnera pas lieu à un GIF jouable et jouable sur Facebook.

[...]

Des services tels que Giphy, Imgur, GFYcat et d'autres tentent de faciliter l'intégration de grands GIF sur le Web

[...]

assurez-vous que vous utilisez l'URL GIF complète de Giphy ou d'autres services GIF.

Avril 2012 - Current Exploit utilise l'application de texte mobile pour transmettre des images

http://www.facebook.com/connect/uiserver.php?app_id=2915120374
&method=stream_publish
&redirect_uri=http://www.facebook.com
&from=SENDERID
&target_id=RECEIVERID
&action_links=[{"text":"Your Text Here",
                "href":"http://www.blank.com/"}]
&attachment={'media':[{'type':'image',
                       'src':'animationurl',
                       'href':'anyurl'}],
             'description':'LongDescription',
             'properties':{'Anything':{'text':'Anything',
                                       'href':'anyurl'}}}

La seule chose vraiment nécessaire est la animationurl, qui doit être une image hébergée sur Facebook.

Ce sont les façons qui étaient auparavant possibles

  • Changer le nom de fichier en GIF
  • Modification des dimensions du fichier à environ 120 px pour contourner la compression
  • Changer les données d'en-tête ou ajouter des octets (par exemple la fin de 3B dans les données GIF) à la fin du fichier pour contourner les outils d'image Facebook
    Modification des données
  • Via Facebook FBML
  • Via les balises Facebook HMTL dans les notes

La première façon de travailler semble être de partager en quelque sorte l'ensemble de gifs actuellement disponible sur les serveurs Facebook via le marquage des utilisateurs. Je n'ai vu aucun nouveau GIF apparaître en dehors de ceux qui tournent actuellement autour.

Le second utilise un abus de l'API Facebook via une application Facebook. Le développeur a caché les GIF dans un aperçu intégré à la vidéo.

Application développeur

Maintenant, en supposant que quelqu'un devait le comprendre, vous seriez banni ... car cela signifie que le système de téléchargement d'images est défectueux et qu'un code dangereux peut être exécuté en étant caché dans un GIF ou une image. Il semble que Facebook Photo Team s'assurera que les GIF ne restent plus.

Nathaniel Roman

Quora Image: C'était un bug qui n'était sur le site que pendant une courte période.  Il a été réparé pendant un certain temps.

Et auparavant, dans l'ancien Facebook Dev Wiki, certains de ces éléments peuvent avoir changé, mais l'essentiel reste le même

La plateforme Facebook gère les balises img d'une manière spéciale. Lors de la publication d'une page, les serveurs Facebook demandent toutes les URL d'images, puis servent ces images, réécrivant l'attribut src de toutes les balises img à l'aide d'un domaine * .facebook.com. Cela protège la confidentialité des utilisateurs de Facebook et leur permet de mieux contrôler la qualité de service de leurs images.

Il existe plusieurs raisons à l'existence du cache d'images:

  • Nous avons besoin d'un moyen d'assurer un certain degré de qualité et d'uniformité dans les images affichées sur les profils des utilisateurs (pas d'images animées, pas d'images de 50 Mo, etc.)
  • Nous devons protéger la vie privée des utilisateurs et ne pas autoriser les applications malveillantes à extraire des informations des demandes d'images effectuées directement à partir du navigateur d'un utilisateur qui les regarde.
  • Probablement le plus important pour vous, le cache d'image protège les développeurs de la charge potentiellement énorme de servir ces images, ce qui alourdit plutôt les ressources de Facebook.

Et à la fin, comme je l'ai mentionné ailleurs

De plus, bien que cela ne soit indiqué nulle part dans les CGU,

En téléchargeant un fichier, vous certifiez que vous avez le droit de distribuer cette image et qu'elle ne viole pas les conditions d'utilisation

Donc, vous pouvez obtenir une tape dans le dos pour tester sur un compte d'utilisateur de test mais en utilisant un exploit (s'il est trouvé) sur un compte personnel. Je suis certain que vous finirez par voir la fermeture de votre compte.

PS Ne pensez pas parce que lorsque vous naviguez sur des sites, les employés de Facebook ne voient pas ces informations. Dès qu'un exploit est connu du public, dans le même laps de temps il sera arrêté

phwd
la source
6

Bien que l'extension soit jpeg, c'est toujours un fichier gif

Image Firefox

Pour répondre à votre question, voici ce que j'ai trouvé :

Ce que vous devez faire est de télécharger un petit gif animé (environ 50 Ko ou moins) comme photo de profil (Facebook aplatira les gifs animés qui sont trop grands, mais ne détectent pas les plus petits). Il sera ensuite dans l'album de votre profil. Votre icône elle-même ne sera PAS animée. Cependant, vous la verrez animée dans votre dossier de photos de profil Facebook, et en accédant à cette photo, et en cliquant sur "partager", elle apparaîtra sur votre mur comme animée.

Les vignettes de profil sont toujours générées à partir de l'image de base. Si l'image de base est inférieure à 120x120, l'animation restera intacte à travers les vues minimisées et maximisées. Tout ce qui dépasse cette taille devra être redimensionné pour correspondre à une miniature de galerie minimisée et perdra l'animation, mais la taille réelle doit rester animée.

Sathyajith Bhat
la source
1

J'ai recherché et trouvé que l'image est générée par l'application http://apps.facebook.com/animated-picture/ Vous pouvez générer des fichiers comme celui-ci à partir d'un SWF (flash) sur cette application en tant que GIF animé et publier sur votre facebook!

Fábio Colella
la source
Malheureusement, l'application n'est plus disponible. Facebook devrait permettre l'option d'utiliser des gifs.
skan
0

Facebook prend désormais en charge le téléchargement natif de fichiers GIF animés. Si vous cliquez sur le bouton de téléchargement d'image dans la boîte de mise à jour du statut sur votre page d'actualités ou de chronologie, puis choisissez le fichier gif animé que vous souhaitez télécharger, il sera téléchargé et Facebook le convertira en un fichier vidéo .mp4, qui peut être lu comme un fichier vidéo Facebook normal, y compris la possibilité de faire une pause à des images spécifiques, ce qui n'est pas une option lors de la visualisation d'un fichier gif animé normal. Bien que le gif ait été réellement converti en fichier vidéo après le téléchargement, il aura une étiquette de superposition indiquant GIF.

En tant que fichier vidéo, et Facebook lit automatiquement les fichiers vidéo dans le fil d'actualité (si vous n'avez pas désactivé ce paramètre Facebook), il devrait donc se comporter comme un gif animé (boucle constante), car Facebook boucle automatiquement les vidéos de moins de 30 secondes. longue.

mack nordstrum
la source