Facebook'ta animasyonlu GIF'leri nasıl yayınlarım?


22

Bir arkadaş, doğrudan Facebook başlangıç ​​sayfamdaki ileti yayınında canlandıran bir resim yayınladı. Bu nasıl mümkün olabilir? Bu nasıl yapılabilir?

Bu, Facebook tarafından kullanılan URL'dir: http://photos-c.ak.fbcdn.net/hphotos-ak-snc3/29301_442976909814_310716489814_5773694_3162803_s.jpg

Yeni bir GIF resmi olarak yeniden adlandırıldı mı .jpg? Muhtemelen değil.

Yardımcı olup olmadığını bilmiyorum, ama işte bu resim URL'sini içeren kısım (script):

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

Yukarıdakilerin önemli kısmı burada gözüküyor:

style=\"background-image: url(http:\/\/photos-f.ak.fbcdn.net\/hphotos-ak-snc4\/156854_175015452521815_100000400858474_459703_1557976_s.jpg);\">

Sadece bir jpg olarak bir gif ismini değiştiremez ve çalışmasını bekleyemezsiniz.
ChrisF

Evet, daha yeni denedim. GIF facebook'ta hala doğru bir şekilde görüntüleniyor ancak canlandırmıyor.
bitbonk

Yanıtlar:


15

Mayıs 2015

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

Akılda tutulması gereken ilk şey, özelliğin GIF yüklemeleri değil GIF bağlantıları ile çalıştığıdır. En azından şimdilik, en sevdiğiniz GIF’i yüklemeye çalışmak, Facebook’ta kullanılabilir, oynanabilir bir GIF ile sonuçlanmayacak.

[...]

Giphy, Imgur, GFYcat ve diğerleri gibi hizmetler, büyük GIF’leri web’e katıştırmayı kolaylaştırmaya çalışıyor

[...]

tam GIF URL'sini Giphy veya diğer GIF servislerinden kullandığınızdan emin olun.

Nisan 2012 - Mevcut Exploit, görüntüleri aktarmak için mobil metin uygulamasını kullanıyor

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'}}}

Gerçekten ihtiyaç duyulan tek şey animationurl, Facebook tarafından barındırılan bir görüntü olması gereken şey .

Bunlar daha önce mümkün olan yollardır.

  • Dosya adını GIF olarak değiştirme
  • Sıkıştırmayı atlamak için dosya boyutlarını yaklaşık 120 piksele değiştirme
  • Facebook görüntü araçlarını atlamak için üstbilgi verilerini değiştirme veya bayt ekleme (örneğin, GIF verisinde biten 3B) dosyanın sonuna
    Veri Değişimi
  • Facebook üzerinden FBML
  • Facebook üzerinden HMTL etiketleri

İlk çalışma şekli, bir şekilde şu anda mevcut olan gif setlerini, kullanıcıları etiketleyerek Facebook sunucularında paylaşıyor gibi görünmektedir. Şu anda etrafta dolananlardan başka yeni bir GIF görmedim.

İkincisi, bir Facebook Uygulaması aracılığıyla Facebook API'sinin kötüye kullanılmasından yararlanır. Geliştirici, GIF'leri bir video gömme önizlemesinde sakladı.

Geliştirici uygulaması

Şimdi, birisini çözeceğini varsayarsak, yasaklanacağınızı varsayarsınız ... çünkü bu, görüntü yükleme sisteminin hatalı olduğu ve tehlikeli kodun bir GIF veya resimde gizlenerek yürütülebileceği anlamına gelir. Görünüşe göre Facebook Fotoğraf Ekibi GIF'lerin artık kalmamasını sağlayacak.

Nathaniel Roman

Quora Image: Bu sitede kısa bir süre için bulunan bir hataydı.  Bir süre önce tamir edildi.

Ve daha önce eski Facebook Dev Wiki'de bunun bir kısmı şimdiye kadar değişmiş olabilir ama özü aynı kalıyor

Facebook Platformu, img etiketlerini özel bir şekilde işler. Bir sayfayı yayınlarken, Facebook sunucuları herhangi bir görüntü URL’si ister ve bu görüntülere hizmet eder, ardından bir * .facebook.com etki alanı kullanarak tüm img etiketlerinin src niteliğini yeniden yazar. Bu, Facebook kullanıcılarının gizliliğini korur ve görüntülerinin hizmet kalitesini daha iyi kontrol etmelerini sağlar.

Görüntü önbelleğinin varlığının birkaç nedeni vardır:

  • Kullanıcı profillerinde görüntülenen görüntülerde bir derece kalite ve homojenlik sağlamak için bir yola ihtiyacımız var (animasyonlu görüntü yok, 50 MB görüntü yok, vb.)
  • Kullanıcıların gizliliğini korumamız ve kötü amaçlı uygulamaların doğrudan görüntüleyen kullanıcının tarayıcısından yapılan resim isteklerinden bilgi çıkarmasına izin vermememiz gerekir
  • Muhtemelen sizin için en önemlisi olan görüntü önbelleği, geliştiricileri bu görüntülere hizmet verme potansiyelinden büyük bir yükten korur, bunun yerine yükü Facebook'un kaynaklarına yükler.

Ve sonunda başka yerde dediğim gibi

Ayrıca TOS'ta hiçbir yerde belirtilmemiş olmasına rağmen,

Bir dosya yükleyerek, bu resmi dağıtma hakkına sahip olduğunuzu ve Hizmet Şartlarını ihlal etmediğini beyan etmiş olursunuz .

Bu nedenle, Test Kullanıcı Hesabı üzerinde test yapmak için bir tahvil alabilirsiniz, ancak kişisel bir hesapta bir istismar (varsa) kullanın. Hesabınızın sonlandırıldığını göreceğinizden eminim.

PS Düşünmeyin çünkü Facebook Çalışanlarının bu bilgileri görmediği sitelere göz atarken. Bir sömürünün halka açık bir şekilde tanındığı anda, aynı sürede kapatılacak


6

Uzantı jpeg olmasına rağmen, hala bir gif dosyasıdır

Firefox görüntüsü

Sorunuzu cevaplamak için, bulduğum şey şu :

Yapmanız gereken, profil fotoğrafınız olarak küçük bir animasyonlu gif (yaklaşık 50 KB veya daha az) yüklemektir (Facebook, daha büyük ama daha küçük olanları algılamayan animasyonlu gifleri düzleştirir). Daha sonra profilinizin albümünde olacak. Simgenizin kendisi animasyonlu olmayacak. Ancak, Facebook profil fotoğrafları klasörünüzde animasyon olarak göreceksiniz ve o fotoğrafa gidip "paylaş" ı tıklayarak duvarınızda animasyonlu olarak görünecektir.

Profil Küçük resimleri her zaman temel görüntüden oluşturulur. Temel görüntü 120x120'nin altındaysa, animasyon hem küçültülmüş hem de büyütülmüş görünümlerde bozulmadan kalacaktır. Bu boyutun üzerindeki herhangi bir şey, küçültülmüş galeri minik resmine sığacak şekilde yeniden boyutlandırılmalıdır ve animasyonu kaybedecektir, ancak tam boyutta animasyon kalmalıdır.



0

Facebook artık yerel olarak animasyonlu gif dosyalarını yüklemeyi destekliyor. Haber Kaynağı veya Zaman Çizelgesi sayfanızdaki durum güncelleme kutusundaki resim yükle düğmesini tıklarsanız, yüklemek istediğiniz animasyonlu gif dosyasını seçin, yüklenecek ve Facebook bu dosyayı bir .mp4 video dosyasına dönüştürecek. normal bir animasyonlu gif dosyasını görüntülerken bir seçenek olmayan belirli karelerde duraklama özelliği de dahil olmak üzere normal bir Facebook video dosyası gibi. Gif, yüklendikten sonra bir video dosyasına gerçekten dönüştürülmüş olsa da, GIF diyen bir bindirme etiketine sahip olacaktır.

Bir video dosyası olduğundan ve Facebook Newsfeed'deki video dosyalarını otomatik olarak oynatırsa (eğer Facebook ayarınız kapalı değilse), facebook 30 saniyenin altındaki videoları otomatik olarak döndürdüğü için animasyonlu bir gif (sürekli döngü) gibi davranmalıdır. uzun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.