-
Notifications
You must be signed in to change notification settings - Fork 6
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
Comments
CLI интерфейс предполагается для использования на desktop linux дистрибутивах, на termux работа не проверялась и вряд ли будет работать, так как для воспроизведения видео требуется mpv плеер. Для использования на android устройствах придётся самостоятельно с помощью программного API интерфейса делать другую реализацию для вытаскивания ссылок и передачу в установленный плеер за пределы этой оболочки с поддержкой воспроизведения m3u8, mpd ссылок (vlc, например). Также для aniboom требуется передавать дополнительные заголовки (иначе не начнёт воспроизведение), я таких плееров, которые так умеют, на android не знаю. |
UPD: присутствуют проблемы с передачей параметров в ffmpeg на aniboom, возвращает 403 код, а на mpv всё работает |
Начал потихоньку переделывать проект, всё же с передачей аргументов была проблема TLDRheaders указывать надо вначале и только потом прямую ссылку на скачивание! Я не разбирался, как ещё больше заголовков добавить, но такого минимального количества хватает для работы. Правильный вариант применения: В скрипте неправильно передавались аргументы через ключ -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
... |
Есть костыль, удалить mpv из термукса, поставить mpv из playmarket, скомпилить вот такой код (язык C)
Переименовать в mpv и закинуть в usr/bin/ |
Костыль сверху у меня не заработал (возможно, что-то сделал не так). На данный момент видео запускается через команду mpv в sh, потому заменил /usr/bin/mpv на файлик с простой строчкой:
Работает идеально. Разве что названия серии не видно, но если похимичить должно быть исправимо. Обязательно иметь установленный как приложение mpv. |
The text was updated successfully, but these errors were encountered: