Przy lokalnym developmencie na windowsie wszystko śmiga (pobieranie wideo) schody zaczynają się kiedy stawiam sobie obraz dockerowy na kompie, wtedy pobieranie filmu z yt za pomocą ffmpega cały czas wyrzuca kod HTTP 403. Chce mieć to skonteneryzowane bo będę wystawiał dynamicznie na chmurze on demand (najprawdopodobniej jakaś kolejka). Any ideas, dlaczego ffmpeg i yt-dl zwraca taki błąd a developując lokalnie na windowsie już nie? W obu przypadkach te same argumenty
coś masz z credentialami, może źle przekazujesz jakieś zmienne środowiskowe. Możliwe że nie przekazałeś wszystkiego co masz lokalnie do docker-a. 403 to problem z uwierzytelnieniem
@annotate: net 300/30mbps, na neta bym nie zwalał bo przy developmencie lokalnie wszystko śmiga (czy użyję wsl2, ffmpeg.exe, fasady na to w postaci .neta) po wystawieniu tego w obrazie dockerowym sypią mi się 403-ki.
Używam ffmpega do pobierania filmów z YT, gdyż ten umożliwia mi pobieranie tego w częściach. Za pomocą Youtube-dl wyciągam tylko link do odpowiedniego formatu. Pobieram filmy w chunkach po 30 sekund a potem lepie w całość. Robię
@simply_pretentious: czyli windows lepszy bo na nim wszystko śmiga ( ͡°͜ʖ͡°) mało tego, ten kejs na ażurowym appservice (windows) też śmigał ale muszę to przepisać na Linuxa + docker bo koszta duże
@szmichal: Jak nic masz coś nie tak z konfiguracja tego obrazu, może obraz dockerowy nie ma dostępu do twojej lokalniej sieci (albo potrzebuje jakiegoś specjalnego) przez co nie może prawidłowo się połączyć (jest odseparowany)
@typ_z_internetu_pro: w dockerze jestem świeży, ot jedyne co umiem to klepnać dockerfile pod prostą apke. Podlinkowalbys, o czym mówisz? O sieć bym się nie martwił bo na tym samym obrazie pobieranie z twitcha działa tylko tam nie używam ani ffmpega ani YT-dl
ale coś mi sie wydaje że to niekoniecznie może być problemem. Bo jak masz 403 to niby się połączył więc sieć jest OK. Problem może być gdzieś z jakimiś ustawieniami które lecą z request-em -> sprawdź co leci z request-em lokalnie i co leci z docker-a
@szmichal: albo windows, albo docker. Najprościej będzie ci uruchomić kontener, wbić do środka i z palca wywołać to, co ma robić twoja aplikacja. Swoją drogą, do takiej pierdoły to się nie pisze aplikacji, skrypt powłoki zrobi robotę w mniejszej ilości linijek. W dodatku możesz go spreparować klejąc kolejne komendy wypracowane na zwykłym linuksie. TL&DR: wbijasz gwoździa kluczem francuskim. W dodatku tępą stroną gwoździa w ścianę.
@szmichal: nie sądzę żeby to było związane bezpośrednio z dockerem. podejrzyj sobie jakie requesty robi jeden i drugi (jeśli możesz wymusić http zamiast https to wiresharkiem np, jeśli nie to musisz coś wykombinować) i zobacz czy nie różnią się np useragentem, refererem itp. Ogólnie musisz jak najlepiej udawać prawdziwego usera. w sumie nie byłoby dziwne gdyby linuksowy ffmpeg był na jakiejś blackliście, a windowsowy nie bo i tak nikt tego nie
@wykopyrek: Czy ja wiem, czy strzelam z aramty do wróbla? ffmpega i yt-dl owrapowałem .netem, mam error handling, pętle, jakieś cuda wianki. Ja wiem, że #!$%@?łbym to samo jakimś skryptem powershellowym ale PSa też nie znam i szybciej to klepnąłem w c# niż miałbym się uczyć PS bo gołe wywoływanie komend z argumentami tu nic nie da, gdzie musze pobierać po 30 sekund party a tak sobie elegancko sklejam memory streamy
Czy ja wiem, czy strzelam z aramty do wróbla? ffmpega i yt-dl owrapowałem .netem,
Zawijasz aplikacje w inne aplikacje, w dodatku uzależniasz od bibliotek „windowsowych”, chociaż będziesz pracował na linuksie (kontener dokerowy to linuks).
mam error handling, pętle, jakieś cuda wianki.
To wszystko jest już w tych aplikacjach, ty możesz ew. to obsługiwać. Ale równie skuteczne jest wysłanie stdout i stderr na wyjście kontenera.
Hej, używam ffmpeg'a i youtube-dl w dockerze.
Przy lokalnym developmencie na windowsie wszystko śmiga (pobieranie wideo) schody zaczynają się kiedy stawiam sobie obraz dockerowy na kompie, wtedy pobieranie filmu z yt za pomocą ffmpega cały czas wyrzuca kod HTTP 403. Chce mieć to skonteneryzowane bo będę wystawiał dynamicznie na chmurze on demand (najprawdopodobniej jakaś kolejka). Any ideas, dlaczego ffmpeg i yt-dl zwraca taki błąd a developując lokalnie na windowsie już nie? W obu przypadkach te same argumenty
Jak masz net? Wykluczyles wszelkie proxy do netu, a raczej ich brak?
Z tego ko tenera mozesz poprawnie pobrac cos z innych stro?
Używam ffmpega do pobierania filmów z YT, gdyż ten umożliwia mi pobieranie tego w częściach. Za pomocą Youtube-dl wyciągam tylko link do odpowiedniego formatu. Pobieram filmy w chunkach po 30 sekund a potem lepie w całość. Robię
fyi @szmichal
tutaj trochę o networkingu w docker-e: https://docs.docker.com/network/network-tutorial-host/
tutaj o łączeniu docker-a: https://blog.oddbit.com/post/2014-08-11-four-ways-to-connect-a-docker/
ale coś mi sie wydaje że to niekoniecznie może być problemem. Bo jak masz 403 to niby się połączył więc sieć jest OK. Problem może być gdzieś z jakimiś ustawieniami które lecą z request-em -> sprawdź co leci z request-em lokalnie i co leci z docker-a
Najprościej będzie ci uruchomić kontener, wbić do środka i z palca wywołać to, co ma robić twoja aplikacja.
Swoją drogą, do takiej pierdoły to się nie pisze aplikacji, skrypt powłoki zrobi robotę w mniejszej ilości linijek.
W dodatku możesz go spreparować klejąc kolejne komendy wypracowane na zwykłym linuksie.
TL&DR: wbijasz gwoździa kluczem francuskim. W dodatku tępą stroną gwoździa w ścianę.
w sumie nie byłoby dziwne gdyby linuksowy ffmpeg był na jakiejś blackliście, a windowsowy nie bo i tak nikt tego nie
Zawijasz aplikacje w inne aplikacje, w dodatku uzależniasz od bibliotek „windowsowych”, chociaż będziesz pracował na linuksie (kontener dokerowy to linuks).
To wszystko jest już w tych aplikacjach, ty możesz ew. to obsługiwać. Ale równie skuteczne jest wysłanie stdout i stderr na wyjście kontenera.