Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sh syntax error #12

Open
NekonexDev opened this issue Aug 6, 2022 · 5 comments
Open

sh syntax error #12

NekonexDev opened this issue Aug 6, 2022 · 5 comments
Labels
bug Something isn't working

Comments

@NekonexDev
Copy link

Screenshot_2022-08-06-17-32-12-774_com termux

@vypivshiy
Copy link
Owner

CLI интерфейс предполагается для использования на desktop linux дистрибутивах, на termux работа не проверялась и вряд ли будет работать, так как для воспроизведения видео требуется mpv плеер.

Для использования на android устройствах придётся самостоятельно с помощью программного API интерфейса делать другую реализацию для вытаскивания ссылок и передачу в установленный плеер за пределы этой оболочки с поддержкой воспроизведения m3u8, mpd ссылок (vlc, например).

Также для aniboom требуется передавать дополнительные заголовки (иначе не начнёт воспроизведение), я таких плееров, которые так умеют, на android не знаю.

@vypivshiy vypivshiy added wontfix This will not be worked on bug Something isn't working and removed wontfix This will not be worked on labels Aug 6, 2022
@vypivshiy
Copy link
Owner

UPD: присутствуют проблемы с передачей параметров в ffmpeg на aniboom, возвращает 403 код, а на mpv всё работает

@vypivshiy
Copy link
Owner

Начал потихоньку переделывать проект, всё же с передачей аргументов была проблема

TLDR

headers указывать надо вначале и только потом прямую ссылку на скачивание! Я не разбирался, как ещё больше заголовков добавить, но такого минимального количества хватает для работы.
закрою issue, когда в скрипте починю

Правильный вариант применения:
ffmpeg -user_agent 'Mozilla 5.0' -referer 'https://aniboom.one/' -headers 'Accept-Language: ru-RU' -i 'https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8' out.mp4

В скрипте неправильно передавались аргументы через ключ -headers, они друг друга перезаписывали

> ~/Рабочий стол ffmpeg -v trace -headers 'user-agent: Mozilla 5.0' -headers 'referer: https://aniboom.one/' -headers 'origin: https://aniboom.one' -headers 'accept-language: ru-RU' -i 'https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8' out.mp4
ffmpeg version n5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'trace'.
Reading option '-headers' ... matched as AVOption 'headers' with argument 'user-agent: Mozilla 5.0'.
Reading option '-headers' ... matched as AVOption 'headers' with argument 'referer: https://aniboom.one/'.
Reading option '-headers' ... matched as AVOption 'headers' with argument 'origin: https://aniboom.one'.
Reading option '-headers' ... matched as AVOption 'headers' with argument 'accept-language: ru-RU'.
Reading option '-i' ... matched as input url with argument 'https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8'.
Reading option 'out.mp4' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument trace.
Successfully parsed a group of options.
Parsing a group of options: input url https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8.
Successfully parsed a group of options.
Opening an input file: https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8.
[NULL @ 0x55f7bd931540] Opening 'https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8' for reading
[https @ 0x55f7bd931d80] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[https @ 0x55f7bd931d80] No trailing CRLF found in HTTP header. Adding it.
[tcp @ 0x55f7bd935180] Original list of addresses:
[tcp @ 0x55f7bd935180] Address 2a01:4f8:252:1763::2 port 443
[tcp @ 0x55f7bd935180] Address 157.90.210.27 port 443
[tcp @ 0x55f7bd935180] Interleaved list of addresses:
[tcp @ 0x55f7bd935180] Address 2a01:4f8:252:1763::2 port 443
[tcp @ 0x55f7bd935180] Address 157.90.210.27 port 443
[tcp @ 0x55f7bd935180] Starting connection attempt to 2a01:4f8:252:1763::2 port 443
[tcp @ 0x55f7bd935180] Starting connection attempt to 157.90.210.27 port 443
[tcp @ 0x55f7bd935180] Successfully connected to 157.90.210.27 port 443
[https @ 0x55f7bd931d80] request: GET /pq/PQmM3Dx0XDl/master.m3u8 HTTP/1.1
User-Agent: Lavf/59.27.100
Accept: */*
Range: bytes=0-
Connection: close
Host: phoebe.cdn-aniboom.com
Icy-MetaData: 1
accept-language: ru-RU


[https @ 0x55f7bd931d80] header='HTTP/1.1 403 Forbidden'
[https @ 0x55f7bd931d80] http_code=403
[https @ 0x55f7bd931d80] HTTP error 403 Forbidden
https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8: Server returned 403 Forbidden (access denied)
⋊> ~/Рабочий стол                                                                                                                                                                    16:15:42

В логе работы пишет, что только последний ключ применился, остальные - перезаписываются

в документации написано, что можно указать referer, user_agent, headers

> ~/Рабочий стол ffmpeg -v trace -user_agent 'Mozilla 5.0' -referer 'https://aniboom.one/' -headers 'accept-language: ru-RU' -i 'https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8' out.mp4
ffmpeg version n5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'trace'.
Reading option '-user_agent' ... matched as AVOption 'user_agent' with argument 'Mozilla 5.0'.
Reading option '-referer' ... matched as AVOption 'referer' with argument 'https://aniboom.one/'.
Reading option '-headers' ... matched as AVOption 'headers' with argument 'accept-language: ru-RU'.
Reading option '-i' ... matched as input url with argument 'https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8'.
Reading option 'out.mp4' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument trace.
Successfully parsed a group of options.
Parsing a group of options: input url https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8.
Successfully parsed a group of options.
Opening an input file: https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8.
[NULL @ 0x56145fc6d580] Opening 'https://phoebe.cdn-aniboom.com/pq/PQmM3Dx0XDl/master.m3u8' for reading
[https @ 0x56145fc6de00] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[https @ 0x56145fc6de00] No trailing CRLF found in HTTP header. Adding it.
[tcp @ 0x56145fc71300] Original list of addresses:
[tcp @ 0x56145fc71300] Address 2a01:4f8:252:1763::2 port 443
[tcp @ 0x56145fc71300] Address 157.90.210.27 port 443
[tcp @ 0x56145fc71300] Interleaved list of addresses:
[tcp @ 0x56145fc71300] Address 2a01:4f8:252:1763::2 port 443
[tcp @ 0x56145fc71300] Address 157.90.210.27 port 443
[tcp @ 0x56145fc71300] Starting connection attempt to 2a01:4f8:252:1763::2 port 443
[tcp @ 0x56145fc71300] Starting connection attempt to 157.90.210.27 port 443
[tcp @ 0x56145fc71300] Successfully connected to 157.90.210.27 port 443
[https @ 0x56145fc6de00] request: GET /pq/PQmM3Dx0XDl/master.m3u8 HTTP/1.1
User-Agent: Mozilla 5.0
Referer: https://aniboom.one/
Accept: */*
Range: bytes=0-
Connection: close
Host: phoebe.cdn-aniboom.com
Icy-MetaData: 1
accept-language: ru-RU


[https @ 0x56145fc6de00] header='HTTP/1.1 206 Partial Content'
[https @ 0x56145fc6de00] http_code=206
...

@DownToTwo
Copy link

Есть костыль, удалить mpv из термукса, поставить mpv из playmarket, скомпилить вот такой код (язык C)

int main(int argc, char** argv){
	char str[8096]="am start -n is.xyz.mpv/.MPVActivity -a android.intent.action.VIEW ";
	system(strcat(str, argv[1]));}

Переименовать в mpv и закинуть в usr/bin/
ну и все можно смотреть аниме в турмуксе (нахуя и зачем это вопрос риторический)
(не бейте)

@Sokuto-Desu
Copy link

Костыль сверху у меня не заработал (возможно, что-то сделал не так). На данный момент видео запускается через команду mpv в sh, потому заменил /usr/bin/mpv на файлик с простой строчкой:

am start --user 0 -a android.intent.action.VIEW -d "$2" -n is.xyz.mpv/.MPVActivity

Работает идеально. Разве что названия серии не видно, но если похимичить должно быть исправимо.

Обязательно иметь установленный как приложение mpv.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants