Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

mkeremcansev en üst paket var hocam yanılmıyorsam, expiry değeri bitince ama videolar iptal olsun istemiyorum, bir eğitim sitesi yapıyoruz, vimeo videoların çalınmasını önlemek için böyle bişey yapmış sanırım güzelde fakat o videoları kullanıcı izlerken kesinti yaşamaması lazım yani istek atıldığında güncel verimi gelmesi gerekir tam bilemedim ama

Vimeo tarafında bir ayarı vardır, ya da video yüklerken siz gönderiyor olabilirsiniz. Bu expiry olayını Vimeo tarafından kaldırıp güvenlik önlemlerini sizin tarafta yapmanız lazım.

    mkeremcansev Teşekkür ederim bakıyım hocam, ama tam çözüm bu da değil gibi. Videoları isteğe göre tekrar veritabanına almak yada güncellemek gibi şeyler geçiyor aklımdan, yani vimeodan gelen isteği alıp videos tablosuna kaydedip videostan sonuç döndürmek ama oradaki urlyi güncelletmek gerekiyor gibi kafam karman çorman oldu 😃 teşekkür ederim

    Bir video yüklendikten sonra URL değişmiyor diye biliyorum. Neden URL i güncelliyorsunuz?

      mkeremcansev

      Şöyle izah ediyim hocam size tam olarak. Apiden mesela linki çektim diyelim bana vimeonun verdiği bir video datası misalen;

      https://player.vimeo.com/progressive_redirect/playback/xxx22545/rendition/1080p/file.mp4?loc=external&oauth2_token_id=xxxx55833&signature=xxxxxx40aa147166e1c14d9c5cedb240b5522937569347f

      Bu link aktif olması lazım bu arada, bu linke tıkladığınız zaman ise yapı değişiyor ve link farklı bir hale geliyor (exp parametreleri falan burada ekleniyor.

      https://download-video.akamaized.net/v3-1/playback/xxxxx-d4d3-4ce2-a328-9c6bbf801115/b9f5d6b5?__token__=st=1708090753~exp=1708105153~acl=%2Fv3-1%2Fplayback%2F386dbbb7-d4d3-4ce2-a328-9c6bbf801115%2Fb9f5d6b5%2A~hmac=xxxxxed32486b1fb7b1f782c86f9b28eb04d99a416b9212acf0e19e3&r=dXMtd2VzdDE%3D

      Ben localde çalışıyorum genelde, localde bir sorun yoktu fakat geçen canlıya yüklediğimde müşteri videoları izleyemiyoruz dedi, baktığımda videoların olmadığını gördüm o sırada linkteki exp değerini farkettim.

      Sonrasında ise tıkandım kaldım ne yapacağımı bilemedim 🙂

        Vimeo panelinden video ayarlarını bir inceleyin siz. Büyük ihtimalle orada bir seçeneği vardır. Ek olarak siz API'dan videonun URL değerini alacaksınız. Kullanıcıya sadece videoyu izletebilmek için URL dönseniz yeterli.

          mkeremcansev Aslında haklısınız üstteki link ziyaret edildiğinde aşağıdaki link oluşuyorsa kullanıcı girdiğinde zaten o data otomatik oluşur gibi bunu test edeceğim. Peki hocam son bir sorum daha var sizlere. Bu videoları ben sürekli apiden tümünü gösterecek şekilde mi yapacağım admine? yani bu videoları videos gibi bir tabloda tutup oradan işlem yapmak istesem nasıl bir yol izlemem gerekir yada mantıklımı?

          İlginiz için çok teşekkürler bu arada

          Her yeni video eklendiğinde videos tablosuna kayıt yapacaksınız. Eğer yükleme yapmadığınız bir videoyu eklemek isterseniz el ile manuel olarak ya da API'a istek atarak (var mı bilmiyorum) alabilirsiniz.

          Daha önce vimeo kullanarak ufak bir proje geliştirmiştim. Yanlış hatırlamıyorsam vimeo video ayarlarında hangi siteden görüntüleme yapabileceğinizi ayarlayabiliyordunuz. Ben video id lerini veritabanında kayıt edip login olan kullanıcılara eğer o video atanmışsa vimeo embed api ile sadece video id girerek videoyu kendi sitemden görüntüleyebiliyordum. Belki bu tarz bir yöntem işinizi görebilir.

          smh

          o video atanmışsa vimeo embed api ile sadece video id girerek videoyu kendi sitemden görüntüleyebiliyordum.

          Hocam aradığım bu tarz bişey olabilir, fakat yukarıdaki alıntıladığım kısmı tam olarak anlamadım. Biraz daha açabilir misiniz?

          Şöyle düşün, bi videos tablosu var, bi users tablosu. Her user birden fazla videoyu satın almış olabilir. Burda bir relationship kurulacak ve video izleme ekranında kontrol sağlanacak kullanıcı bu videoyu satın almış mı şeklinde. Bunun sonrasında embed api ile video kullanıcıya gösterilecek. Fakat benim yaptığım projede videolar satın alınmıyordu, kullanıcı sadece abone oluyordu bundan dolayı pek güvenlik tarafını düşünmemiştim. Sizin o taraflarıda düşünmenizde fayda var.

            beyondelayer İndirme linki oluşturduğunuz için zaman aşımı süresi var. Videoyu indirmek mi istiyorsunuz izlemek mi?

              kursatcanciger o kısımları full hallettim hocam tüm herşey hazır sadece video mantığını halletmem lazım.

              mgsmus Abi şöyle ben api ile videoları çekeyim kursun ilişkili olduğu lessonların içine her birine birer tane video seçeyim ve o videolar kaydedilsin, bir video playerda hazırladım zaten video.js ile oda güzel çalışıyor. Sadece wordpress medya seçim ekranı gibi bi ekram yapıp seçim yaptığım videolar lessona atansın istiyorum, kursu satın alan kişi ne zaman izlemek isterse tıklasın ve izlesin yani, videos diye bir tabloda oluşturdum lesson içinede video_id diye bi alan verdim ama kurguyu kafamda oturtamadım hala

                5 gün sonra

                Hala yardıma ihtiyacım var mantığını tam olarak oturtamadım 🙁
                Yani vimeo apisi ile videoları çekiyorum bir servis oluşturdum içerisine gereken bir kaç metod yazdım ve bir videos tablosu oluşturdum.

                Kafamı karıştıran şey şu;

                -Videoları vimeo api üzerinden çekip ajax ile bir modalda göstertip seçtirecek miyim, yoksa bu videoları önce bir veri tabanıma kaydedip modal içerisinde o tablodaki itemleri mi göstereceğim?

                -Videoları veritabanına kaydedersem mesela bir video yükleyip modala geri döndüğümde sync güncelleme nasıl yapacağım yani video yüklendi diyelim fakat modalım veritabanındaki datalardan ibaret, videonun ne zaman yükleneceğide belli değil belki şimdi belki 2 saat sonra o yüzden cron tarafıda uymuyor.

                Bir callback url oluşturma alanı var acaba webhook varmı diye baya bir araştırma yaptım ama oda yok gibi OTT diye bir hizmetinin var sadece sanırım.

                Lütfen bilgisi olan varsa ve cevaplarsa çok sevinirim, sadece bilgili kişiler tarafından genel bir kurguya, mantık yürütmeye ihtiyacım var 🙏🏻

                  beyondelayer Her videonun bir Vimeo video id'si var. https://player.vimeo.com/video/{id} şeklinde id'yi ekleyip iframe ile kullanabiliyorsunuz:

                  <iframe src="https://player.vimeo.com/video/286898202" width="800" height="600"></iframe>

                  Siz bu id'yi bir tabloda tutacaksınız. Sonra istediğiniz yerde kullanacaksınız. Ben ne yapmaya çalıştığınızı anlamadım.

                    mgsmus Abi bu bir eğitim sitesi. Vimeonun en üst paketini aldık. Kursların içerisinde section ve lesson alanları var. Lesson tablosunun içerisinede videoyu adminden eklerken seçtirmem lazım, yani kursu ekleyen admin lesson için video seçmeli. Videolar api ile geliyor (yüklü videolar toplu çekilebiliyor), linkleri cover imageleri vs herşeyi. Benim yapmam gereken tek şey lesson içerisinde kullanıcının o derse ait videoyu seçmesi, embed olarak kullanmıyoruz. Direkt linki seçtirip kaydettiğimde video ön planda lessona işlemiş olacak ve izleyebilecekler

                      beyondelayer Ben hala anlamadım 🙂 Videoları bir tabloda tutuyorsunuz zaten. Model adı da Video olsun mesela. Şunu yapmıyor musunuz:

                      $lesson = Lesson::findOrFail(1);
                      
                      $video = Video::findOrFail(1);
                      
                      $lesson->videos()
                          ->attach($video);

                        mgsmus abi işte sorunda burda 😃 Videoları bir tabloda tutmayı planlıyorum ama nasıl tutacağımı bilmiyorum 😃 Neden derseniz eğer mesela önce tüm datayı bikere yükletip sonra mı işlem yapacağım, video linkleri değişebilir video linklerinin içerisinde exp= parametresi var süresi falan doluyor yani ben mesela videos tablosuna hangi aşamada bağlanıp videoları vimeodan çektirmeliyim veya çekmiş olduğum bir video linki artık vimeoda farklı bir urlye sahipse yeni bir video eklendi ama benim veritabanımda yok gibi bir çok soru işareti oldu kafamda aslında sormak istediğim tek şey tek cümleyle açıklarsak "ben vimeo apiyle kendi videos tablomu sürekli nasıl sync tutacağım"

                          beyondelayer Size exp parametresinin sadece indirme linklerinde olduğunu söyledim. O yüzden size sordum videoyu indirtmek mi istiyorsun izletmek mi diye ama net bir yanıt veremediniz. Her bir videonun değişmeyen bir Vimeo video id'si var. Siz sadece bu id ile thumbnail_url değerini tutsanız bile yeterli, url değişir diye bir şey yok siz id'den url'yi istediğinizde oluşturabiliyorsunuz:
                          https://developer.vimeo.com/api/reference
                          https://developer.vimeo.com/api/reference/videos