Code Monkey home page Code Monkey logo

kantv's Introduction

KanTV

KanTV("Kan", aka Chinese PinYin "Kan" or Chinese HanZi "看" or English "watch/listen") , an open source project focus on study and practise state-of-the-art AI technology in real scenario(such as online-TV playback and online-TV transcription(real-time subtitle) and online-TV language translation and online-TV video&audio recording works at the same time) on Android phone/device, derived from original ijkplayer , with much enhancements and new features:

  • Watch online TV and local media by my customized FFmpeg 6.1, source code of my customized FFmpeg 6.1 could be found in external/ffmpeg according to FFmpeg's license

  • Record online TV to automatically generate videos (useful for short video creators to generate short video materials but pls respect IPR of original content creator/provider); record online TV's video / audio content for gather video / audio data which might be required of/useful for AI R&D activity

  • AI subtitle(real-time English subtitle for English online-TV(aka OTT TV) by the great & excellent & amazing whisper.cpp ), pls attention Xiaomi 14 or other powerful Android mobile phone is HIGHLY required/recommended for AI subtitle feature otherwise unexpected behavior would happen

  • 2D graphic performance

  • Set up a customized playlist and then use this software to watch the content of the customized playlist for R&D activity

  • UI refactor(closer to real commercial Android application and only English is supported in UI language currently)

  • Well-maintained "workbench" for ASR(Automatic Speech Recognition) researchers/developers/programmers who was interested in practise state-of-the-art AI tech(such as whisper.cpp) in real scenario on Android phone/device(PoC: realtime AI subtitle for online-TV(aka OTT TV) on Xiaomi 14 finished from 03/05/2024 to 03/16/2024)

  • Well-maintained "workbench" for LLM(Large Language Model) researchers/developers who was interested in practise state-of-the-art AI tech(such as llama.cpp) in real scenario on Android phone/device, or Run/experience LLM model(such as llama-2-7b, baichuan2-7b, qwen1_5-1_8b, gemma-2b) on Android phone/device using the magic llama.cpp

  • Well-maintained "workbench" for GGML beginners to study internal mechanism of GGML inference framework on Android phone/device(PoC:Qualcomm QNN backend for ggml finished from 03/29/2024 to 04/26/2024)

  • Well-maintained "workbench" for NCNN beginners to study and practise NCNN inference framework on Android phone/device

  • Well-maintained turn-key / self-contained project for AI researchers(whom mightbe not familiar with regular Android software development)/developers/beginners focus on edge/device-side AI learning / R&D activity, some AI R&D activities (AI algorithm validation / AI model validation / performance benchmark in ASR, LLM, TTS, NLP, CV......field) could be done by Android Studio IDE + a powerful Android phone very easily

Software architecture of KanTV Android

(depend on #121)

kantv-software-arch

How to build project

Fetch source codes


git clone https://github.com/zhouwg/kantv.git

cd kantv

git checkout master

cd kantv

Setup development environment

Option 1: Setup docker environment
  • Build docker image

    docker build build -t kantv --build-arg USER_ID=$(id -u) --build-arg GROUP_ID=$(id -g) --build-arg USER_NAME=$(whoami)
  • Run docker container

    # map source code directory into docker container
    docker run -it --name=kantv --volume=`pwd`:/home/`whoami`/kantv kantv
    
    # in docker container
    . build/envsetup.sh
    
    ./build/prebuild-download.sh
Option 2: Setup local environment
  • Prerequisites
      Host OS information:
      
      uname -a
      
      Linux 5.8.0-43-generic #49~20.04.1-Ubuntu SMP Fri Feb 5 09:57:56 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
      
      cat /etc/issue
      
      Ubuntu 20.04.2 LTS \n \l
      
      
      • tools & utilities
      sudo apt-get update
      sudo apt-get install build-essential -y
      sudo apt-get install cmake -y
      sudo apt-get install curl -y
      sudo apt-get install wget -y
      sudo apt-get install python -y
      sudo apt-get install tcl expect -y
      sudo apt-get install nginx -y
      sudo apt-get install git -y
      sudo apt-get install vim -y
      sudo apt-get install spawn-fcgi -y
      sudo apt-get install u-boot-tools -y
      sudo apt-get install ffmpeg -y
      sudo apt-get install openssh-client -y
      sudo apt-get install nasm -y
      sudo apt-get install yasm -y
      sudo apt-get install openjdk-17-jdk -y
      
      sudo dpkg --add-architecture i386
      sudo apt-get install lib32z1 -y
      
      sudo apt-get install -y android-tools-adb android-tools-fastboot autoconf \
              automake bc bison build-essential ccache cscope curl device-tree-compiler \
              expect flex ftp-upload gdisk acpica-tools libattr1-dev libcap-dev \
              libfdt-dev libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev \
              libpixman-1-dev libssl-dev libtool make \
              mtools netcat python-crypto python3-crypto python-pyelftools \
              python3-pycryptodome python3-pyelftools python3-serial \
              rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev
      
      sudo apt-get install python3-pip -y
      sudo apt-get install indent -y
      pip3 install meson ninja
      
      echo "export PATH=/home/`whoami`/.local/bin:\$PATH" >> ~/.bashrc
      
      

      or run below script accordingly after fetch project's source code

      
      ./build/prebuild.sh
      
      
      

      borrow from http://ffmpeg.org/developer.html#Editor-configuration

      set ai
      set nu
      set expandtab
      set tabstop=4
      set shiftwidth=4
      set softtabstop=4
      set noundofile
      set nobackup
      set fileformat=unix
      set undodir=~/.undodir
      set cindent
      set cinoptions=(0
      " Allow tabs in Makefiles.
      autocmd FileType make,automake set noexpandtab shiftwidth=8 softtabstop=8
      " Trailing whitespace and tabs are forbidden, so highlight them.
      highlight ForbiddenWhitespace ctermbg=red guibg=red
      match ForbiddenWhitespace /\s\+$\|\t/
      " Do not highlight spaces at the end of line while typing on that line.
      autocmd InsertEnter * match ForbiddenWhitespace /\t\|\s\+\%#\@<!$/
      
      
  • Download android-ndk-r26c to prebuilts/toolchain, skip this step if android-ndk-r26c is already exist

    . build/envsetup.sh
    
    ./build/prebuild-download.sh
    
    
  • Modify ggml/CMakeLists.txt and ncnn/CMakeLists.txt accordingly if target Android device is Xiaomi 14 or Qualcomm Snapdragon 8 Gen 3 SoC based Android phone

  • Modify ggml/CMakeLists.txt and ncnn/CMakeLists.txt accordingly if target Android phone is Qualcomm SoC based Android phone and enable QNN backend for inference framework on Qualcomm SoC based Android phone

  • Remove the hardcoded debug flag in Android NDK android-ndk issue

    
    # open $ANDROID_NDK/build/cmake/android.toolchain.cmake for ndk < r23
    # or $ANDROID_NDK/build/cmake/android-legacy.toolchain.cmake for ndk >= r23
    # delete "-g" line
    list(APPEND ANDROID_COMPILER_FLAGS
    -g
    -DANDROID
    
    

Build native codes

. build/envsetup.sh

Screenshot from 2024-04-07 09-45-04

Build Android APK

  • Option 1: Build APK from source code by Android Studio IDE

  • Option 2: Build APK from source code by command line

      . build/envsetup.sh
      lunch 1
      ./build-all.sh android
    

Run Android APK on Android phone

This project is a learning&research project, so the Android APK will not collect/upload user data in Android device. The Android APK should be works well on any mainstream Android phone(report issue in various Android phone to this project is greatly welcomed) and the following four permissions are required:

  • Access to storage is required to generate necessary temporary files
  • Access to device information is required to obtain current phone network status information, distinguishing whether the current network is Wi-Fi or mobile when playing online TV
  • Access to camera is needed for AI Agent
  • Access to mic(audio recorder) is needed for AI Agent

here is a short video to demostrate AI subtitle by running the great & excellent & amazing whisper.cpp on a Xiaomi 14 device - fully offline, on-device.
realtime-subtitle-by-whispercpp-demo-on-xiaomi14-finetune-20240324.mp4

here is a screenshot to demostrate LLM inference by running the magic llama.cpp on a Xiaomi 14 device - fully offline, on-device.

1204894425


here is a screenshot to demostrate ASR inference by running the excellent whisper.cpp on a Xiaomi 14 device - fully offline, on-device.

840460054


here are some screenshots to demostrate CV inference by running the excellent ncnn on a Xiaomi 14 device - fully offline, on-device.

2015869763

988568755

1730654667

1301547964

some other screenshots

    784269893 205726588

    1714239572

    1778831978

    Screenshot_2024_0304_131033

    154248860

    1118975128 Screenshot_20240301_000609_com cdeos kantv

    1966093505

    1179733910

    2138671817

    1634808790

    991182277

Hot topics

  • improve the quality of Qualcomm QNN backend for GGML

  • improve the performance of edge-AI inference on Android phone

  • bugfix in UI layer(Java)

  • bugfix in native layer(C/C++)

Contribution

Be sure to review the opening issues before contribute to project KanTV, We use GitHub issues for tracking requests and bugs, please see how to submit issue in this project .

Report issue in various Android-based phone or even submit PR to this project is greatly welcomed.

Docs

Special Acknowledgement

License

Copyright (c) 2021 - 2023 Project KanTV

Copyright (c) 2024 -  Authors of Project KanTV

Licensed under Apachev2.0 or later

kantv's People

Contributors

bbcallen avatar chodison avatar chrisjenx avatar ctiao avatar cwq avatar epruseal avatar gdier avatar ilibilib avatar jovisayhehe avatar linjiansheng avatar lowlevel-mboton avatar matrixreload avatar midoreigh avatar nxzhou91 avatar raymond1012 avatar shingwasix avatar stuckless avatar tatowilson avatar teddyla avatar tewilove avatar willerce avatar x13945 avatar xinzhengzhang avatar xionxiao avatar xqq avatar yrom avatar yuvesy avatar zccicy avatar zhouwg avatar zmzhuai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

kantv's Issues

lack of essential infos on UI dialog during playback in development mode


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

lack of essential infos on UI dialog during playback in development mode

How to reproduce the issue

(1) enable development mode in Settings;
(2) launch online tv/radio playback;
(3) the issue could be found at following screenshots;

Chinese UI:

1592174327

English UI:

1308028562

PoC:real-time illegal advertisement removal in some online movie


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { ai / PoC }

Issue Description

remove illegal advertisement in some online movie

How to reproduce the issue

  1. open online movie <<Nobody(小人物)>>

nobody

  1. launch playback

926468817

Root cause

remove illegal advertisement in some online movies,we must stay compliant with all the China's laws & regulations even in open-source software project

playback issue when switch between RTSP content and HTTP/HLS content in original ijkplayer


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { RTSP playback}

Issue Description

How to reproduce the issue:

  1. playback HTTP/HLS content on Android phone;
  2. playback RTSP content;
  3. playback issue occured: "Unknown" was displayed in playback UI;

Root cause

bug in libavformat/tcp.c in ff3.4--ijk0.8.7--20180103--001

How to fix

pls refer to:

https://github.com/zhouwg/hijkplayer/tree/dev-baseon-latest-k0.8.8

Defect

not working for target iOS at the moment

PoC: timeshift playback for online tv


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { playback }

PoC Description

timeshift playback for online tv

how to submit issue in this project

  • Before opening a new issue, we wanted to provide you with some useful suggestions:

  • All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

  • Pls close the issue accordingly if it's already fixed/solved, thanks for your cooperation


Required Info
Branch { master }
Device Vendor huawei / xiaomi / oppo / vivo / samsung / nokia / zte / lenovo / motorola ...
Device OS Version Android 5/6/7/8/9/10/11/12/13/14
Section { UI / JNI / FFmpeg / whisper.cpp / playback / qos / performance / stability / ... }

Issue Description

<Describe your issue / question / feature request / etc..>

How to reproduce the issue

fully log is welcomed

steps to reproduce issue is welcomed

full sequence of commands used is welcomed

Attention

English is preferred in this project. thank your for your cooperation and appreciate your understanding.

lack of UI during playback online radio


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { HLS }

Issue Description

black screen during playback online radio

How to reproduce the issue

  1. open online Radio http://sk.cri.cn/am846.m3u8 ( CRI (online english radio from China) )

  2. launch playback

black screen during playback online radio program

Root cause

lack of UI during playback online radio program

UI status / animation should be added during playback online radio program

bitrate is invalid during playback in development mode


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/Java }
Section { ffmpeg }

Issue Description

bitrate is invalid during playback in development mode

How to reproduce the issue

(1) enable development mode in Settings;
(2) launch online tv/radio playback;
(3) the issue could be found at following screenshots;

Chinese UI:

1002510519

English UI:

1569214217

Root Cause

some codes should be added in ffmpeg and in JNI

Crash when playing .wmv video

the error comes from libijkplayer.so

my device:

Android 10

here logs

Process Name: 'com.'
Thread Name: 'ff_read'
pid: 19781, tid: 20104 >>> com. <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000000000000008
x0 0000000000000000 x1 0000007ad4d7a970 x2 000000000000066f x3 0000000000000002
x4 0000000000000000 x5 0000007ad4d7b000 x6 0000007ad33896b0 x7 ffffff80ffffffd8
x8 0000000000000007 x9 0000007ad510b668 x10 0101010101010101 x11 0000000000000000
x12 0000000000000000 x13 0000000000000004 x14 0000000000000008 x15 ffffffffffffffff
x16 0000007ad5171290 x17 0000007bb53fc46c x18 0000000000000009 x19 0000007b33819760
x20 0000007b18825000 x21 0000007a88f0f000 x22 0000000000000000 x23 0000007ad4d7a000
x24 0000007ad4d7a000 x25 0000007ad4d7ac00 x26 0000007ad4d7a970 x27 000000000000c350
x28 000000000000c350 x29 0000007ad3389b30 x30 0000007ad461b8cc
sp 0000007ad33896e0 pc 0000007ad461b92c pstate 00000000a0000000
v0 000000000000000017380dac60d358ec v1 012f2f2f2f2f2f2f2f2f2f2f2f2f2f2f
v2 656465746f6d65722e676f6c7768002f v3 00000000000000000000000000000000
v4 00000000000000000000000000000800 v5 00000000000000000000000000000000
v6 00000000000000004000000000000000 v7 80200802802008028020080280200802
v8 00000000000000003f40624dd2f1a9fc v9 00000000000000003eb0c6f7a0b5ed8d
v10 00000000000000003ff0000000000000 v11 00000000000000000000000000000000
v12 00000000000000000000000000000000 v13 00000000000000000000000000000000
v14 00000000000000000000000000000000 v15 00000000000000000000000000000000
v16 40100401401004014010040140100401 v17 00000000400000080000400800000000
v18 00000000000000004000000000000800 v19 0000000000000000bd2ef35793c76730
v20 00000000000000003ff0002b8b263fc3 v21 0000000000000000bfe62e42fefa3800
v22 0000000000000000ffffffffffffffff v23 ffffffffffffffffffffffffffffffff
v24 014a006a006a006a006a014a3fe0402a v25 40004000400040004000400040004000
v26 0149006900690069006901493fdf4029 v27 0000000000000000050101010105ffff
v28 0000000000000000050101010105ffff v29 0000000000000000050101010105ffff
v30 ffffffffffffffffffffffffffffffff v31 00000000000000000000000072dd270c
fpsr 08000012 fpcr 00000000
#00 pc 000000000028d92c /data/app/com.-Ujrj-Ub-Y4BDIXv-ZahrCA==/lib/arm64/libijkplayer.so
#1 pc 000000000028d8c8 /data/app/com.-Ujrj-Ub-Y4BDIXv-ZahrCA==/lib/arm64/libijkplayer.so


--- --- --- ---

memory near x1:
0000007ad4d7a930 0804000e0f000000 ff73000500020000 ..............s.
0000007ad4d7a940 0009ff73ff730007 76206765706d4646 ..s.s...FFmpeg v
0000007ad4d7a950 6e206e6f69737265 672d38322d342e34 ersion n4.4-28-g
0000007ad4d7a960 3333346566653730 0000000000633937 07efe43379c.....
0000007ad4d7a970 6172665f64616572 7265746e695f656d read_frame_inter
0000007ad4d7a980 00000000006c616e 3736353433323130 nal.....01234567
0000007ad4d7a990 6665646362613938 3736353433323130 89abcdef01234567
0000007ad4d7a9a0 4645444342413938 28106e6701000000 89ABCDEF....gn.(
0000007ad4d7a9b0 18710c333220d4a6 8c38861919106288 .. 23.q..b....8.
0000007ad4d7a9c0 376f4e5602213044 de7cf36b81bff9cd D0!.VNo7....k.|.
0000007ad4d7a9d0 7e22a0053cd36c6e 048c13000c00fc5f nl.<.."_.......
0000007ad4d7a9e0 0001000300000504 0000008432000300 ...........2....
0000007ad4d7a9f0 1231ee6801000000 0000000000000011 ....h.1.........
0000007ad4d7aa00 29107a6701000000 63c619332220d4b6 ....gz.).. "3..c
0000007ad4d7aa10 1933ce9811012123 7e7d3db956022118 #!....3..!.V.=}

0000007ad4d7aa20 b8089ef1113fe34f e2270278c043548c O.?......TC.x.'.

memory near x5:
0000007ad4d7afc0 656c62616e652d2d 6b726f7774656e2d --enable-network
0000007ad4d7afd0 62617369642d2d20 32617678642d656c --disable-dxva2
0000007ad4d7afe0 62617369642d2d20 69706161762d656c --disable-vaapi
0000007ad4d7aff0 62617369642d2d20 75617064762d656c --disable-vdpau
0000007ad4d7b000 62617369642d2d20 646f636e652d656c --disable-encod
0000007ad4d7b010 69642d2d20737265 77682d656c626173 ers --disable-hw
0000007ad4d7b020 2d20736c65636361 656c62617369642d accels --disable
0000007ad4d7b030 2073726578756d2d 6c62617369642d2d -muxers --disabl
0000007ad4d7b040 6563697665642d65 617369642d2d2073 e-devices --disa
0000007ad4d7b050 6e6f63692d656c62 62616e652d2d2076 ble-iconv --enab
0000007ad4d7b060 6f746f72702d656c 6e7973613d6c6f63 le-protocol=asyn
0000007ad4d7b070 617369642d2d2063 756e696c2d656c62 c --disable-linu
0000007ad4d7b080 2d20667265702d78 2d656c62616e652d x-perf --enable-
0000007ad4d7b090 6c6f636f746f7270 206f74707972633d protocol=crypto
0000007ad4d7b0a0 656c62616e652d2d 726578756d65642d --enable-demuxer
0000007ad4d7b0b0 61645f6d6265773d 66696e616d5f6873 =webm_dash_manif

memory near x6:
0000007ad3389670 0000000000000800 0000000000000000 ................
0000007ad3389680 0000000000000000 0000000000000000 ................
0000007ad3389690 4000000000000000 0000000000000000 .......@........
0000007ad33896a0 8020080280200802 8020080280200802 .. ... ... ... .
0000007ad33896b0 0000007ad480d5c8 0000007ad4dabb7b ....z...{...z...
0000007ad33896c0 0000007ad46a8620 0000000000000080 .j.z...........
0000007ad33896d0 085d505a722b7a00 000000000003767c .z+rZP].|v......
0000007ad33896e0 0000000000000000 0000007a88d3bbe0 ............z...
0000007ad33896f0 000000000000c350 0000000000000000 P...............
0000007ad3389700 0000000000000002 0000000000000000 ................
0000007ad3389710 0000000000000000 0000000000000014 ................
0000007ad3389720 0000007a88f0f000 0000007a88f0f4c8 ....z.......z...
0000007ad3389730 000000000000c350 000000000000c350 P.......P.......
0000007ad3389740 0000007ad461f4b8 0000007b33819760 ..a.z...`..3{...
0000007ad3389750 0000007b18825200 0000007bb542e290 .R..{.....B.{...
0000007ad3389760 0000007ad338a020 0000000000000000 .8.z...........

memory near x9:
0000007ad510b628 0000000000000000 0000000000000000 ................
0000007ad510b638 0000000100015000 0000007ad4dabb69 .P......i...z...
0000007ad510b648 0000000000000000 0000000000000003 ................
0000007ad510b658 0000000000000000 0000000000000000 ................
0000007ad510b668 0000000100015001 0000007ad4d6c134 .P......4...z...
0000007ad510b678 0000000000000000 0000000000000003 ................
0000007ad510b688 0000000000000000 0000000000000000 ................
0000007ad510b698 0000000100015002 0000007ad4d7e4bf .P..........z...
0000007ad510b6a8 0000000000000000 0000000000000003 ................
0000007ad510b6b8 0000000000000000 0000000000000000 ................
0000007ad510b6c8 0000000100015003 0000007ad4d7c87a .P......z...z...
0000007ad510b6d8 0000000000000000 0000000000000003 ................
0000007ad510b6e8 0000000000000000 0000000000000000 ................
0000007ad510b6f8 0000000100015004 0000007ad4d70dee .P..........z...
0000007ad510b708 0000000000000000 0000000000000007 ................
0000007ad510b718 0000000000000000 0000000000000000 ................

memory near x10:
0101010101010100 ---------------- ---------------- ................

memory near x16:
0000007ad5171250 0000007b23caaf1c 0000007bb541fac0 ...#{.....A.{...
0000007ad5171260 0000007b23cb3c7c 0000007b23cac38c |<.#{......#{...
0000007ad5171270 0000007b23d4a088 0000007bb540d470 ...#{...p.@.{...
0000007ad5171280 0000007bb4679e38 0000007bb4662960 8.g.{...)f.{... 0000007ad5171290 0000007bb53fc46c 0000007bb4678ea4 l.?.{.....g.{... 0000007ad51712a0 0000007b23cb02c0 0000007bb540e0e0 ...#{.....@.{... 0000007ad51712b0 0000007bb540cc90 0000007b23cabb70 ..@.{...p..#{... 0000007ad51712c0 0000007bb53cef78 0000007b23cb0780 x.<.{......#{... 0000007ad51712d0 0000007b23cac6a8 0000007bb53fd2b8 ...#{.....?.{... 0000007ad51712e0 0000007bb540ca90 0000007bb53ca138 ..@.{...8.<.{... 0000007ad51712f0 0000007b23a1bb78 0000007b23cabfb0 x..#{......#{... 0000007ad5171300 0000007bb540c970 0000007bb540dddc p.@.{.....@.{... 0000007ad5171310 0000007bb5421180 0000007bb892926c ..B.{...l...{... 0000007ad5171320 0000007b23836090 0000007bb4679700 ..#{.....g.{...
0000007ad5171330 0000007b23cb3dd4 0000007bb53db3c0 .=.#{.....=.{...
0000007ad5171340 0000007b23cabb10 0000007b23cac3c4 ...#{......#{...

memory near x17:
0000007bb53fc428 f94012609400a026 9400a023b4000040 &....@.@...#... 0000007bb53fc438 b4000040f9401660 f9403e609400a020 .@.@... ...>@. 0000007bb53fc448 9400a01db4000040 aa1303e0a9417bfd @........{A..... 0000007bb53fc458 1400a019f84207f3 f84207f3a9417bfd ..B......{A...B. 0000007bb53fc468 a9bc5ff8d65f03c0 a9024ff4a90157f6 .._.._...W...O.. 0000007bb53fc478 9100c3fda9037bfd aa0403f3b4000262 .{......b....... 0000007bb53fc488 aa0203f7aa0303f4 aa0003f6aa0103f5 ................ 0000007bb53fc498 9b145518d341fee8 aa1803e1aa1603e0 ..A..U.......... 0000007bb53fc4a8 34000120d63f0260 1a9fd7e87100001f .?. ..4...q....
0000007bb53fc4b8 cb0802e88b140309 9a95c135d341fd17 ..........A.5...
0000007bb53fc4c8 aa1f03f8b5fffe97 a9424ff4a9437bfd .........{C..OB.
0000007bb53fc4d8 aa1803e0a94157f6 d65f03c0a8c45ff8 .WA...........
0000007bb53fc4e8 910de000f0000140 fc1e0fe81400a518 @...............
0000007bb53fc4f8 a9017bfdf90007f3 aa0003f3910043fd .....{...C......
0000007bb53fc508 7d4002609400005a 7e61d800128005e0 Z....@}......a~ 0000007bb53fc518 4ea01c089400a512 321b6be07d400660 .......N.@}.k.2

memory near x19:
0000007b33819720 0000000000000000 0000000000000000 ................
0000007b33819730 0000000000000000 0000000000000000 ................
0000007b33819740 0000000000000000 ffffffffffffffff ................
0000007b33819750 0000000000000000 0000007d7d3b3165 ........e1;}}...
0000007b33819760 0000007a88eba680 8000000000000000 ....z...........
0000007b33819770 0000000000000000 0000007a88d3e000 ............z...
0000007b33819780 0000000000000280 0000000000000001 ................
0000007b33819790 0000000000000000 0000000000000000 ................
0000007b338197a0 0000000000000000 0000000000007b6c ........l{......
0000007b338197b0 0000000000000000 0000000000000000 ................
0000007b338197c0 0000007bb7d5c9a8 0000000000000002 ....{...........
0000007b338197d0 0000000000000000 0000000000000000 ................
0000007b338197e0 0000000000000000 0000000000000000 ................
0000007b338197f0 0000000000000000 0000000000000000 ................
0000007b33819800 0000000000000000 3df8f8fa00000000 ...............=
0000007b33819810 4080000000000000 0000000000000d01 .......@........

memory near x20:
0000007b18824fc0 0000000000000000 0000000000000000 ................
0000007b18824fd0 0000000000000000 0000000000000000 ................
0000007b18824fe0 0000000000000000 0000000000000000 ................
0000007b18824ff0 0000000000000000 0000000000000000 ................
0000007b18825000 0000000100000000 0000007a88c83700 .........7..z...
0000007b18825010 0000000000000000 000003e800000001 ................
0000007b18825020 8000000000000000 000000000001be18 ................
0000007b18825030 0000000000000000 0000000000000000 ................
0000007b18825040 0000000100000000 0000007a89296ab0 .........j).z...
0000007b18825050 0000000000000000 0000000000000000 ................
0000007b18825060 0000000000000000 0000000000000000 ................
0000007b18825070 0000000000000000 0000000000000000 ................
0000007b18825080 0000000000000000 0000000000000000 ................
0000007b18825090 0000000000000000 0000000000000000 ................
0000007b188250a0 0000000000000000 0000000000000000 ................
0000007b188250b0 0000000000000000 0000000200000000 ................

memory near x21:
0000007a88f0efc0 0000000000000000 0000000000000000 ................
0000007a88f0efd0 0000000000000000 0000000000000000 ................
0000007a88f0efe0 0000000000000000 0000000000000000 ................
0000007a88f0eff0 0000000000000000 0000000000000000 ................
0000007a88f0f000 0000007ad50fd030 0000007ad5177320 0...z... s..z...
0000007a88f0f010 0000000000000000 0000007ad317d000 ............z...
0000007a88f0f020 0000007b22b940c0 0000000200000000 .@."{...........
0000007a88f0f030 0000007a89296a70 656761726f74732f pj).z.../storage
0000007a88f0f040 6574616c756d652f 4d4943442f302f64 /emulated/0/DCIM
0000007a88f0f050 2f6172656d61432f a7e8b3b2e684bbe9 /Camera/........
0000007a88f0f060 6d772e3191a2e986 0000000000000076 ....1.wmv.......
0000007a88f0f070 0000000000000000 0000000000000000 ................
0000007a88f0f080 0000000000000000 0000000000000000 ................
0000007a88f0f090 0000000000000000 0000000000000000 ................
0000007a88f0f0a0 0000000000000000 0000000000000000 ................
0000007a88f0f0b0 0000000000000000 0000000000000000 ................

memory near x23:
0000007ad4d79fc0 0000000000000000 0000000000000000 ................
0000007ad4d79fd0 0000000000000000 0000000000000000 ................
0000007ad4d79fe0 0000000000000000 0000000000000000 ................
0000007ad4d79ff0 0000000000000000 0000000000000000 ................
0000007ad4d7a000 0000000000000000 0000000000000000 ................
0000007ad4d7a010 0000000000000000 0000000000000000 ................
0000007ad4d7a020 0000000000000000 0000000000000000 ................
0000007ad4d7a030 0000000000000000 0000000000000000 ................
0000007ad4d7a040 0000000000000000 0000000000000000 ................
0000007ad4d7a050 0000000000000000 0000000000000000 ................
0000007ad4d7a060 0000000000000000 0000000000000000 ................
0000007ad4d7a070 0000000000000000 0000000000000000 ................
0000007ad4d7a080 0000000000000000 0000000000000000 ................
0000007ad4d7a090 0000000000000000 0000000000000000 ................
0000007ad4d7a0a0 0000000000000000 0000000000000000 ................
0000007ad4d7a0b0 0000000000000000 0000000000000000 ................

memory near x24:
0000007ad4d79fc0 0000000000000000 0000000000000000 ................
0000007ad4d79fd0 0000000000000000 0000000000000000 ................
0000007ad4d79fe0 0000000000000000 0000000000000000 ................
0000007ad4d79ff0 0000000000000000 0000000000000000 ................
0000007ad4d7a000 0000000000000000 0000000000000000 ................
0000007ad4d7a010 0000000000000000 0000000000000000 ................
0000007ad4d7a020 0000000000000000 0000000000000000 ................
0000007ad4d7a030 0000000000000000 0000000000000000 ................
0000007ad4d7a040 0000000000000000 0000000000000000 ................
0000007ad4d7a050 0000000000000000 0000000000000000 ................
0000007ad4d7a060 0000000000000000 0000000000000000 ................
0000007ad4d7a070 0000000000000000 0000000000000000 ................
0000007ad4d7a080 0000000000000000 0000000000000000 ................
0000007ad4d7a090 0000000000000000 0000000000000000 ................
0000007ad4d7a0a0 0000000000000000 0000000000000000 ................
0000007ad4d7a0b0 0000000000000000 0000000000000000 ................

memory near x25:
0000007ad4d7abc0 030000282020603c 2094010300000800 <` (..........
0000007ad4d7abd0 4833ce6801000000 00000000000000d0 ....h.3H........
0000007ad4d7abe0 74616d726f667661 74735f646e69665f avformat_find_st
0000007ad4d7abf0 666e695f6d616572 000000000000006f ream_info.......
0000007ad4d7ac00 726f66766162696c 6c6974752f74616d libavformat/util
0000007ad4d7ac10 626f727000632e73 6572747320676e69 s.c.probing stre
0000007ad4d7ac20 7070206425206d61 696146000a64253a am %d pp:%d..Fai
0000007ad4d7ac30 72206f742064656c 7461636f6c6c6165 led to reallocat
0000007ad4d7ac40 2065626f72702065 6620726566667562 e probe buffer f
0000007ad4d7ac50 616572747320726f 6f6e000a6425206d or stream %d..no
0000007ad4d7ac60 6f7420676e696874 662065626f727020 thing to probe f
0000007ad4d7ac70 616572747320726f 7250000a6425206d or stream %d..Pr
0000007ad4d7ac80 687469772065626f 64253d657a697320 obe with size=%d
0000007ad4d7ac90 74656b636170202c 7465642064253d73 , packets=%d det
0000007ad4d7aca0 7325206465746365 6373206874697720 ected %s with sc
0000007ad4d7acb0 000a64253d65726f 73206465626f7270 ore=%d..probed s

memory near x26:
0000007ad4d7a930 0804000e0f000000 ff73000500020000 ..............s.
0000007ad4d7a940 0009ff73ff730007 76206765706d4646 ..s.s...FFmpeg v
0000007ad4d7a950 6e206e6f69737265 672d38322d342e34 ersion n4.4-28-g
0000007ad4d7a960 3333346566653730 0000000000633937 07efe43379c.....
0000007ad4d7a970 6172665f64616572 7265746e695f656d read_frame_inter
0000007ad4d7a980 00000000006c616e 3736353433323130 nal.....01234567
0000007ad4d7a990 6665646362613938 3736353433323130 89abcdef01234567
0000007ad4d7a9a0 4645444342413938 28106e6701000000 89ABCDEF....gn.(
0000007ad4d7a9b0 18710c333220d4a6 8c38861919106288 .. 23.q..b....8.
0000007ad4d7a9c0 376f4e5602213044 de7cf36b81bff9cd D0!.VNo7....k.|.
0000007ad4d7a9d0 7e22a0053cd36c6e 048c13000c00fc5f nl.<.."_.......
0000007ad4d7a9e0 0001000300000504 0000008432000300 ...........2....
0000007ad4d7a9f0 1231ee6801000000 0000000000000011 ....h.1.........
0000007ad4d7aa00 29107a6701000000 63c619332220d4b6 ....gz.).. "3..c
0000007ad4d7aa10 1933ce9811012123 7e7d3db956022118 #!....3..!.V.=}

0000007ad4d7aa20 b8089ef1113fe34f e2270278c043548c O.?......TC.x.'.

memory near x27:
000000000000c350 ---------------- ---------------- ................

memory near x28:
000000000000c350 ---------------- ---------------- ................

memory near x29:
0000007ad3389af0 0000007ad3389b30 0000007ad455d6cc 0.8.z.....U.z...
0000007ad3389b00 0000007ad310e000 0000007ad300d000 ....z.......z...
0000007ad3389b10 0000007a88c82478 0000007a88c82300 x$..z....#..z...
0000007ad3389b20 0000007a88c82310 0000007a96d86280 .#..z....b..z...
0000007ad3389b30 0000007ad3389ce0 0000007b23cabe10 ..8.z......#{...
0000007ad3389b40 0000007ad300d008 0000007ad300d020 ....z... ...z...
0000007ad3389b50 0000007ad3389d50 00004d4500004d45 P.8.z...EM..EM..
0000007ad3389b60 0000007ad3389dd8 0000007ad3389d50 ..8.z...P.8.z...
0000007ad3389b70 0000007ad3389d50 0000007ad338a020 P.8.z... .8.z...
0000007ad3389b80 0000007bb917d020 0000000000000001 ...{...........
0000007ad3389b90 7ff8000000000000 3eb0c6f7a0b5ed8d ...............>
0000007ad3389ba0 3ff0000000000000 0000000000000000 .......?........
0000007ad3389bb0 0000000000000000 0000000000000000 ................
0000007ad3389bc0 0000000000000000 0000000000000000 ................
0000007ad3389bd0 0000007bb917d020 0000000000000001 ...{...........
0000007ad3389be0 0000007b23cabdf8 0000000000000000 ...#{...........

code around pc:
0000007ad461b8e8 7100103f1400000a b940b80154000081 ....?..q...T..@.
0000007ad461b8f8 14000005321f0021 540000817100143f !..2....?..q...T
0000007ad461b908 32140021b940b801 f9408a80b900b801 ..@.!..2......@.
0000007ad461b918 aa1a03e190003b05 528000435280cde2 .;.........RC..R
0000007ad461b928 f9400406d2800004 aa1903e0913848a5 [email protected].....
0000007ad461b938 94110d46f94000c6 34000060b9410e80 [email protected].....A...4 0000007ad461b948 b50003a0f9408a80 aa1503e0d2f00004 ..@............. 0000007ad461b958 d2800002aa1403e1 aa0403e5aa1303e3 ................ 0000007ad461b968 97fff3ac5280003b b9401000f94006a0 ;..R......@...@. 0000007ad461b978 b9402a60364005a0 f9400a6136000560 ..@6@.`..6a.@.
0000007ad461b988 eb00003fd2f00000 b9400281540004e0 ....?......T..@.
0000007ad461b998 97fff754aa1503e0 aa1403e0f9402661 ....T...a&@.....
0000007ad461b9a8 52800003f9400a62 2a1b03e552800004 [email protected]...

0000007ad461b9b8 1400001c97fff81d 7100bc1fb9403e80 .........>@....q
0000007ad461b9c8 b9402662540002cc aa1303e1aa1503e0 ...Tb&@.........
0000007ad461b9d8 97fff60052800003 37f81ad62a0003f6 ...R.......*...7

code around lr:
0000007ad461b888 f9406a8014000004 b9400400d2800001 .....j@.......@.
0000007ad461b898 f9008a8094061161 b5000180f9408a80 a.........@.....
0000007ad461b8a8 b9400400f9406a80 aa0003e39407c741 .j@[email protected].......
0000007ad461b8b8 aa1503e090003b02 9137444252800501 .;.........RBD7.
0000007ad461b8c8 b9010e9f94110c7b b9410e8114000011 {.............A.
0000007ad461b8d8 540000817100083f 32000021b940b801 ?..q...T..@.!..2
0000007ad461b8e8 7100103f1400000a b940b80154000081 ....?..q...T..@.
0000007ad461b8f8 14000005321f0021 540000817100143f !..2....?..q...T
0000007ad461b908 32140021b940b801 f9408a80b900b801 ..@.!..2......@.
0000007ad461b918 aa1a03e190003b05 528000435280cde2 .;.........RC..R
0000007ad461b928 f9400406d2800004 aa1903e0913848a5 [email protected].....
0000007ad461b938 94110d46f94000c6 34000060b9410e80 [email protected].....A...4 0000007ad461b948 b50003a0f9408a80 aa1503e0d2f00004 ..@............. 0000007ad461b958 d2800002aa1403e1 aa0403e5aa1303e3 ................ 0000007ad461b968 97fff3ac5280003b b9401000f94006a0 ;..R......@...@. 0000007ad461b978 b9402a60364005a0 f9400a6136000560 ..@6*@.`..6a.@.

stack:
0000007ad3389660: 0000000000000000 0000000000000000
0000007ad3389670: 0000000000000800 0000000000000000
0000007ad3389680: 0000000000000000 0000000000000000
0000007ad3389690: 4000000000000000 0000000000000000
0000007ad33896a0: 8020080280200802 8020080280200802
0000007ad33896b0: 0000007ad480d5c8 0000007ad4dabb7b
0000007ad33896c0: 0000007ad46a8620 0000000000000080
0000007ad33896d0: 085d505a722b7a00 000000000003767c
0000007ad33896e0: 0000000000000000 0000007a88d3bbe0 #sp
0000007ad33896f0: 000000000000c350 0000000000000000
0000007ad3389700: 0000000000000002 0000000000000000
0000007ad3389710: 0000000000000000 0000000000000014
0000007ad3389720: 0000007a88f0f000 0000007a88f0f4c8
0000007ad3389730: 000000000000c350 000000000000c350
0000007ad3389740: 0000007ad461f4b8 0000007b33819760
0000007ad3389750: 0000007b18825200 0000007bb542e290
0000007ad3389760: 0000007ad338a020 0000000000000000
0000007ad3389770: 0000007a88f23d80 0000007a88e84090
0000007ad3389780: 0000007ad33897f0 0000007bb53ad3cc
0000007ad3389790: 00000000000000f0 0000007b33819760
0000007ad33897a0: 0000000c0000003c 000000010000000f
0000007ad33897b0: 0000000000000000 2bc1bffb4f837b46
0000007ad33897c0: 0000007a96dc3b80 0000000000000010
0000007ad33897d0: 0000000000000010 0000007a88c84600
0000007ad33897e0: 0000007b33819760 0000007ad3389818
0000007ad33897f0: 0000007ad3389b30 0000007ad4a5356c
0000007ad3389800: 0000007b33819760 0000007ad465e954
0000007ad3389810: 0000007ad465e94c 0000000000000000
0000007ad3389820: 0000007ad461f220 0000007ad461fb78
0000007ad3389830: 0000007ad310e000 0000007ad300d000
0000007ad3389840: 0000007a88c82478 0000007a88c82300
0000007ad3389850: 0000007a88c82310 0000000000000000
0000007ad3389860: 0000000000000002 0000000000000001
0000007ad3389870: 0000007bb917d020 0000000000000001
0000007ad3389880: 0000007ad455d748 7ff8000000000000
0000007ad3389890: 3eb0c6f7a0b5ed8d 3ff0000000000000
0000007ad33898a0: 0000000000000000 0000000000000000
0000007ad33898b0: 0000000000000000 2bc1bffb4f837b46
0000007ad33898c0: 0000007b3382cfa0 0000007b33819760
0000007ad33898d0: 00000000004c4b40 00000011339421b0
0000007ad33898e0: 0000000000000010 0000007a88f23d80
0000007ad33898f0: 0000000000000020 0000007a89296820
0000007ad3389900: 0000007a88f23d88 0000000000000020
0000007ad3389910: 0000007ad33899a0 000f424000000001
0000007ad3389920: 0000007b33a00b68 0000000000006b2a
0000007ad3389930: 0000007a00000000 2bc1bffb4f837b46
0000007ad3389940: 0000000000000000 0000000100000002
0000007ad3389950: 0000000000000a9c 0000007ad4d7c442
0000007ad3389960: 0000007ad4d7c3f1 0000007ad4d7adbf
0000007ad3389970: 0000007a88c83c00 0000007a96dc3400
0000007ad3389980: 0000000000000028 0000000000000000
0000007ad3389990: 0000007a89296820 0000000000000020
0000007ad33899a0: 0000007ad33899c0 0000007bb5390504
0000007ad33899b0: 0000000000000000 0000007a89296820
0000007ad33899c0: 0000007ad3389a50 0000007ad4a60630
0000007ad33899d0: 0000007a89296bf0 0000007ad4a555f8
0000007ad33899e0: 0000007ad3389a50 0000000000000020
0000007ad33899f0: 0000007aac701ab0 0000007ad4fa3898
0000007ad3389a00: 0000000000000012 0000007a88f0f000
0000007ad3389a10: 0000007b339421b0 0000007b18825200
0000007ad3389a20: 0000007b339421b0 0000007ad5199f20
0000007ad3389a30: 0000000000000000 0000007ad4550ee4
0000007ad3389a40: 0000007a89296830 0000007b3382b468
0000007ad3389a50: 0000007ad3389af0 0000007ad45510a8
0000007ad3389a60: 0000000000000008 0000007a88f0f000
0000007ad3389a70: 0000000000000002 0000007b3382cfa0
0000007ad3389a80: 0000007b339421b0 0000000000000000
0000007ad3389a90: 0000007ad4d54000 0000000000000001
0000007ad3389aa0: 0000007bb917d020 0000000000000001
0000007ad3389ab0: 00000076d310e000 0000007ad4d53ae8
0000007ad3389ac0: 0000007ad3389ad8 0000007ad3389ae0
0000007ad3389ad0: 0000007ad310e000 0000007a89296bf0
0000007ad3389ae0: 0000007ad5112f00 2bc1bffb4f837b46
0000007ad3389af0: 0000007ad3389b30 0000007ad455d6cc
0000007ad3389b00: 0000007ad310e000 0000007ad300d000
0000007ad3389b10: 0000007a88c82478 0000007a88c82300
0000007ad3389b20: 0000007a88c82310 0000007a96d86280
0000007ad3389b30: 0000007ad3389ce0 0000007b23cabe10
0000007ad3389b40: 0000007ad300d008 0000007ad300d020
0000007ad3389b50: 0000007ad3389d50 00004d4500004d45
0000007ad3389b60: 0000007ad3389dd8 0000007ad3389d50
0000007ad3389b70: 0000007ad3389d50 0000007ad338a020
0000007ad3389b80: 0000007bb917d020 0000000000000001
0000007ad3389b90: 7ff8000000000000 3eb0c6f7a0b5ed8d
0000007ad3389ba0: 3ff0000000000000 0000000000000000
0000007ad3389bb0: 0000000000000000 0000000000000000
0000007ad3389bc0: 0000000000000000 0000000000000000
0000007ad3389bd0: 0000007bb917d020 0000000000000001
0000007ad3389be0: 0000007b23cabdf8 0000000000000000
0000007ad3389bf0: 0000007aac701fd0 0000002700000000
0000007ad3389c00: 0000007b23d4c610 0000007a88f0f000
0000007ad3389c10: ffffffffffffffff ffffffffffffffff
0000007ad3389c20: 0000007affffffff 0000007b3382cfa0
0000007ad3389c30: 0000007ad3389ce0 0000007ad3389ce0
0000007ad3389c40: 0000007ad3389cd0 ffffff80fffffff0
0000007ad3389c50: 0000007b00000000 0000007ad3291000
0000007ad3389c60: 0000000000000000 2bc1bffb4f837b46
0000007ad3389c70: 00000000000f8d50 0000000000001000
0000007ad3389c80: 0000000000000197 0000000000000000
0000007ad3389c90: 0000000000000000 0000000000000000
0000007ad3389ca0: 0000000000000000 0000007ad3389dd8
0000007ad3389cb0: 00004d4500004d45 0000007ad3389d50
0000007ad3389cc0: 0000007ad300d020 0000007ad300d008
0000007ad3389cd0: 0000007ad3389ce0 2bc1bffb4f837b46
0000007ad3389ce0: 0000007ad3389d10 0000007bb54206f4
0000007ad3389cf0: 0000007ad3389d50 0000007bb54206cc
0000007ad3389d00: 0000007ad3389d50 0000000000000000
0000007ad3389d10: 0000007ad3389d40 0000007bb53c30ec
0000007ad3389d20: 0000007bba5510d0 0000000000000000
0000007ad3389d30: 0000007bb917d020 0000007bba551388
0000007ad3389d40: 0000000000000000 0000000000000000
0000007ad3389d50: 0000007b23112d50 0000000000000000
0000007ad3389d60: 00004d4500004e88 0000007b00000000
0000007ad3389d70: 0000007ad3291000 00000000000f8d50
0000007ad3389d80: 0000000000001000 0000000000000000
0000007ad3389d90: 2bc1bffb4f837b46 0000007ad310ed28
0000007ad3389da0: 0000000000000000 0000000000000000
0000007ad3389db0: 0000007b23cabdb0 0000007ad300d008
0000007ad3389dc0: 0000000000000000 0000007bb6a32000
0000007ad3389dd0: 0000007a6e0b0000 0000000000000001
0000007ad3389de0: 0000007ad3291000 00000000000fd000
0000007ad3389df0: 0000000000000000 0000000000000000
0000007ad3389e00: 0000000000000000 0000000000000000
0000007ad3389e10: 0000000000000000 0000000000000000
0000007ad3389e20: 0000000000000000 0000000000000000
0000007ad3389e30: 0000000000000000 0000000000000000
0000007ad3389e40: 0000000000000000 0000000000000000
0000007ad3389e50: 0000000000000000 0000000000000000
0000007ad3389e60: 0000000000000000 0000000000000000
0000007ad3389e70: 0000000000000000 0000000000000000
0000007ad3389e80: 0000000000000000 0000000000000000
0000007ad3389e90: 0000000000000000 0000000000000000
0000007ad3389ea0: 0000000000000000 0000000000000000
0000007ad3389eb0: 0000000000000000 0000000000000000
0000007ad3389ec0: 0000000000000000 0000000000000000
0000007ad3389ed0: 0000000000000000 0000000000000000
0000007ad3389ee0: 0000000000000000 0000000000000000
0000007ad3389ef0: 0000000000000000 0000000000000000
0000007ad3389f00: 0000000000000000 0000000000000000
0000007ad3389f10: 0000000000000000 0000000000000000
0000007ad3389f20: 0000000000000000 0000000000000000
0000007ad3389f30: 0000000000000000 0000000000000000
0000007ad3389f40: 0000000000000000 0000000000000000
0000007ad3389f50: 0000000000000000 0000000000000000
0000007ad3389f60: 0000000000000000 0000000000000000

toggle UI language between Chinese and English


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

lack of feature to toggle UI language between Chinese and English

there are inconsistent screenshots in section "Screenshots" in the ChangeLog at the moment, it might be confuse the readers of this document;

consider for capture screenshots of APK conveniently: capture English UI for overseas users, capture Chinese UI for domestic users, and then update section "Screenshots" in ChangeLog accordingly;

planning to add "toggle UI language" in "Settings" and then update UI language accordingly, only support Chinese and English as planning;

there is another UI issue that the order between menu item "settings" and "recent playback" SHOULD be exchanged;

UI issue during toggle between foreground and background when BackgrouldPlay disabled


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

black screen after toggle from background to foreground

How to reproduce the issue

  1. ensure BackgroundPlay disabled( this feature was disabled default)
  2. open one of online TV program
  3. launch playback
  4. toggle APK to background
  5. toggle APK to foreground

black screen will displayed

Root cause

it's a bug in original ijkplayer:

(1) isBackgroundPlayEnabled() in IjkVideoView.java return a cached value of mEnableBackgroundPlay, it's a bug here;
(2) onStop() in VideoActivity.java should call Activity.finished() when BackgroundPlay was disabled;

PoC:import EPG infos from project iptv-org/iptv


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { EPG }

PoC Description

the counts of online TV channels and online radio channels is limited, import EPG infos from project iptv-org/iptv

build failed


Required Info
Host Operating System & Version {Ubuntu 20}
Kernel Version (Linux Only) (4.14.13)
Branch {dev-baseon-latest-k0.8.8 }
Android Studio Version 4.2.1
NDK Version r14b
Xcode Version 10.x / 12.x
Language {C/C++/Java/Object C }
Section { build }

Issue Description:

But i execute compile
time ./build-all-native-libs.sh build
it unsuccessful

question:

Why is the execution unsuccessful here?

feature:

How to solve compilation problems?

I follow README step:

my steps:

sudo apt-get update
sudo apt-get install build-essential -y
sudo apt-get install cmake -y
sudo apt-get install curl -y
sudo apt-get install python -y
sudo apt-get install tcl expect -y
sudo apt-get install nginx -y
sudo apt-get install git -y
sudo apt-get install vim -y
sudo apt-get install spawn-fcgi -y
sudo apt-get install u-boot-tools -y
sudo apt-get install ffmpeg -y
sudo apt-get install openssh-client -y

sudo dpkg --add-architecture i386
sudo apt-get install lib32z1

sudo apt-get install android-tools-adb android-tools-fastboot autoconf \
        automake bc bison build-essential ccache cscope curl device-tree-compiler \
        expect flex ftp-upload gdisk acpica-tools libattr1-dev libcap-dev \
        libfdt-dev libftdi-dev libglib2.0-dev libhidapi-dev libncurses5-dev \
        libpixman-1-dev libssl-dev libtool make \
        mtools netcat python-crypto python3-crypto python-pyelftools \
        python3-pycryptodome python3-pyelftools python3-serial \
        rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev

The terminal is executed successfully

my settings:

.vimrc

set ai
set nu
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set noundofile
set nobackup
set undodir=~/.undodir
set cindent
set cinoptions=(0
" Allow tabs in Makefiles.
autocmd FileType make,automake set noexpandtab shiftwidth=8 softtabstop=8
" Trailing whitespace and tabs are forbidden, so highlight them.
highlight ForbiddenWhitespace ctermbg=red guibg=red
match ForbiddenWhitespace /\s\+$\|\t/
" Do not highlight spaces at the end of line while typing on that line.
autocmd InsertEnter * match ForbiddenWhitespace /\t\|\s\+\%#\@<!$/

.profile

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
	. "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi
export ANDROID_HOME=/home/wen/Desktop/i/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export ANDROID_NDK=/home/wen/Desktop/i/ndk
export PATH=$PATH:$ANDROID_NDK

my logs:

LOG1:

root@wen:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8# ./build-all-native-libs.sh clean
current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

   host os is Linux, reset BUILD_TARGET to android   
   BUILD_TARGET is android   
   host os is Ubuntu 20.04.2   



BUILD_USER:        root
BUILD_TIME:        2021-06-20,09:53:44
BUILD_TYPE:        release
BUILD_HOST:        Linux
BUILD_TARGET:      android
BUILD_ARCHS:
                   arm64-v8a
                   x86_64
HOME_PATH:         /root
ANDROID_NDK:       /home/wen/Desktop/i/ndk
PROJECT_ROOT_PATH: /home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8
host cpu counts  : 4
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin


current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

    remove android/contrib/build   
    /home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8/android/ijkplayer/ijkplayer-example/src/main/jniLibs not exist   

current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8/android/contrib

     ffmpeg-arm64/config.h not exist   

     openssl-arm64/Makefile not exist   

current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8/android/contrib

     ffmpeg-x86_64/config.h not exist   

     openssl-x86_64/Makefile not exist   

root@wen:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

LOG2:

wen@wen:~/Desktop/i/kantv-dev-baseon-latest-k0.8.8$ ./build-all-native-libs.sh init
current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

   host os is Linux, reset BUILD_TARGET to android   
   BUILD_TARGET is android   
   host os is Ubuntu 20.04.2   



BUILD_USER:        wen
BUILD_TIME:        2021-06-20,10:00:49
BUILD_TYPE:        release
BUILD_HOST:        Linux
BUILD_TARGET:      android
BUILD_ARCHS:
                   arm64-v8a
                   x86_64
HOME_PATH:         /home/wen
ANDROID_NDK:       /home/wen/Desktop/i/ndk
PROJECT_ROOT_PATH: /home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8
host cpu counts  : 4
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/wen/Desktop/i/sdk/tools:/home/wen/Desktop/i/sdk/platform-tools:/home/wen/Desktop/i/ndk:/home/wen/Desktop/i/sdk/tools:/home/wen/Desktop/i/sdk/platform-tools:/home/wen/Desktop/i/ndk


current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

   host os is Linux, reset BUILD_TARGET to android   
   BUILD_TARGET is android   
   host os is Ubuntu 20.04.2   



BUILD_USER:        wen
BUILD_TIME:        2021-06-20,10:00:49
BUILD_TYPE:        release
BUILD_HOST:        Linux
BUILD_TARGET:      android
BUILD_ARCHS:
                   arm64-v8a
                   x86_64
HOME_PATH:         /home/wen
ANDROID_NDK:       /home/wen/Desktop/i/ndk
PROJECT_ROOT_PATH: /home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8
host cpu counts  : 4
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/wen/Desktop/i/sdk/tools:/home/wen/Desktop/i/sdk/platform-tools:/home/wen/Desktop/i/ndk:/home/wen/Desktop/i/sdk/tools:/home/wen/Desktop/i/sdk/platform-tools:/home/wen/Desktop/i/ndk


current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

======enter function check sources of libiconv ======
test_path:./android/contrib/libiconv-arm64
   ./android/contrib/libiconv-arm64           exist
test_path:./android/contrib/libiconv-x86_64
   ./android/contrib/libiconv-x86_64          exist
======leave function check sources of libiconv ======


current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

======enter function check sources of libz ======
test_path:./android/contrib/libz-arm64
   ./android/contrib/libz-arm64               exist
test_path:./android/contrib/libz-x86_64
   ./android/contrib/libz-x86_64              exist
======leave function check sources of libz ======


current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

======enter function check sources of libxml2 ======
test_path:./android/contrib/libxml2-arm64
   ./android/contrib/libxml2-arm64            exist
test_path:./android/contrib/libxml2-x86_64
   ./android/contrib/libxml2-x86_64           exist
======leave function check sources of libxml2 ======


current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

======enter function check sources of curl ======
test_path:./android/contrib/curl-arm64
   ./android/contrib/curl-arm64               exist
test_path:./android/contrib/curl-x86_64
   ./android/contrib/curl-x86_64              exist
======leave function check sources of curl ======


current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

======enter function check sources of openssl ======
test_path:./android/contrib/openssl-arm64
   ./android/contrib/openssl-arm64            exist
test_path:./android/contrib/openssl-x86_64
   ./android/contrib/openssl-x86_64           exist
======leave function check sources of openssl ======


current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

======enter function check sources of ffmpeg ======
test_path:./android/contrib/ffmpeg-arm64
   ./android/contrib/ffmpeg-arm64             exist
test_path:./android/contrib/ffmpeg-x86_64
   ./android/contrib/ffmpeg-x86_64            exist
======leave function check sources of ffmpeg ======

LOG3:


root@wen:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8# ./build-all-native-libs.sh build
current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

   host os is Linux, reset BUILD_TARGET to android   
   BUILD_TARGET is android   
   host os is Ubuntu 20.04.2   



BUILD_USER:        root
BUILD_TIME:        2021-06-20,09:56:37
BUILD_TYPE:        release
BUILD_HOST:        Linux
BUILD_TARGET:      android
BUILD_ARCHS:
                   arm64-v8a
                   x86_64
HOME_PATH:         /root
ANDROID_NDK:       /home/wen/Desktop/i/ndk
PROJECT_ROOT_PATH: /home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8
host cpu counts  : 4
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin


test_path:./android/contrib/ffmpeg-arm64 exist
test_path:./android/contrib/openssl-arm64 exist
test_path:./android/contrib/ffmpeg-x86_64 exist
test_path:./android/contrib/openssl-x86_64 exist
current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8

build native libs...
arch = arm64-v8a
current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8/android/contrib

build libiconv-arm64...
====================
[*] check archs
====================
FF_ALL_ARCHS = armv5 armv7a arm64 x86 x86_64
FF_ACT_ARCHS = arm64


--------------------
[*] make NDK standalone toolchain
--------------------
build on Linux x86_64
ANDROID_NDK=/home/wen/Desktop/i/ndk
IJK_NDK_REL=14.1.3816874
NDKr14.1.3816874 detected
HOST_OS=linux
HOST_EXE=
HOST_ARCH=x86_64
HOST_TAG=linux-x86_64
HOST_NUM_CPUS=4
BUILD_NUM_CPUS=8
Auto-config: --arch=arm64
Toolchain installed to /home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8/android/contrib/build/libiconv-arm64/toolchain.

--------------------
[*] configurate libiconv
--------------------
current working path:/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8/android/contrib/libiconv-arm64
./configure   --prefix=/home/wen/Desktop/i/kantv-dev-baseon-latest-k0.8.8/android/contrib/build/libiconv-arm64/output --enable-static --disable-shared --host=aarch64-linux-android 
tools/do-compile-libiconv.sh: ./configure: /bin/sh^M: bad interpreter: No such file or directory
     build libiconv failed   

collect issues or suggestions from APK's users


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java/ObjectC }
Section { project }

Issue Description

collect issues or suggestions from APK's users for improve user's experience;征集APK 用户的建议与提交bug

latest APK could be found at: kantv-latest.apk, released kantv-0.0.6.apk could be found at: kantv-0.0.6.apk.zip

欢迎下载KanTV APK ,最新的APK在此下载:kantv-latest.apk;已发布的kantv-0.0.6.apk在此下载:kantv-0.0.6.apk.zip

purely client application and purely GREEN application, the released apk MUST BE built from the source code of project kantv to avoid collecting/uploading device info/user's datas and ensure better user experience for apk's users; 纯客户端软件,无任何插件,不会与任何远程服务器交互,不会收集上传用户手机的设备信息以及手机中的文件,只能用于观看收听在线电视/在线广播/在线电影;

issues or suggestions are greatly welcomed;欢迎使用后按照 如何提交issue 的说明 在此提建议或提交bug

issues or suggestions from domestic users could using Chinese directly;来自国内用户的建议或者提交bug可以用中文,最好是用英文,便于其它不会中文的用户理解,谢谢

lack of iOS app


Required Info
Host Operating System & Version {macOS Catalina 10.15.7 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {ObjectC / swift }
Section { iOS }

Issue Description

very limited supportive(a very simple iOS example available for development purpose) for target iOS at the moment

lack of iOS app for user's potential downloading requirement

improper behaviour between toggel aspect ratio and toggle fullscreen


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

improper behaviour between toggle aspect and toggle full-screen

How to reproduce the issue

(1) launch online tv/radio playback;
(2) click "Scale"( or "切换画面大小" in Chinese) in context menu to toggle aspect ratio randomly;
(3) click "Fullscreen " ( or "切换全屏” in Chinese) in context menu to toggle full-screen randomly;
(4) the issue will be occurred;

Apple's FairPlay DRM not support


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { HLS }

Issue Description

Apple's FairPlay DRM encrypted content not support in original ijkplayer

How to reproduce the issue

  1. open https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400.m3u8

  2. launch playback

06-15 18:06:50.603 13698 13850 W IJKMEDIA: Failed to open segment 1155 of playlist 0
06-15 18:06:50.604 13698 13850 E IJKMEDIA: DRM license is not supported yet
06-15 18:06:50.604 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001159.ts', offset 0, playlist 0
06-15 18:06:50.604 13698 13850 W IJKMEDIA: Failed to open segment 1160 of playlist 0
06-15 18:06:50.604 13698 13850 E IJKMEDIA: DRM license is not supported yet
06-15 18:06:50.604 13698 13850 E IJKMEDIA: DRM license is not supported yet
06-15 18:06:50.604 13698 13850 W IJKMEDIA: Failed to open segment 1172 of playlist 0
06-15 18:06:50.604 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001174.ts', offset 0, playlist 0
06-15 18:06:50.604 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001176.ts', offset 0, playlist 0
06-15 18:06:50.604 13698 13850 E IJKMEDIA: DRM license is not supported yet
06-15 18:06:50.604 13698 13850 W IJKMEDIA: Failed to open segment 1178 of playlist 0
06-15 18:06:50.604 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001180.ts', offset 0, playlist 0
06-15 18:06:50.604 13698 13850 E IJKMEDIA: DRM license is not supported yet
06-15 18:06:50.604 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001186.ts', offset 0, playlist 0
06-15 18:06:50.604 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001188.ts', offset 0, playlist 0
06-15 18:06:50.604 13698 13850 W IJKMEDIA: Failed to open segment 1188 of playlist 0
06-15 18:06:50.604 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001190.ts', offset 0, playlist 0
06-15 18:06:50.604 13698 13850 E IJKMEDIA: DRM license is not supported yet
06-15 18:06:50.606 13698 13850 E IJKMEDIA: DRM license is not supported yet
06-15 18:06:50.606 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001272.ts', offset 0, playlist 0
06-15 18:06:50.606 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001275.ts', offset 0, playlist 0
06-15 18:06:50.606 13698 13850 E IJKMEDIA: DRM license is not supported yet
06-15 18:06:50.607 13698 13850 W IJKMEDIA: Failed to open segment 1288 of playlist 0
06-15 18:06:50.607 13698 13850 W IJKMEDIA: Failed to open segment 1292 of playlist 0
06-15 18:06:50.609 13698 13850 W IJKMEDIA: Failed to open segment 1371 of playlist 0
06-15 18:06:50.609 13698 13850 E IJKMEDIA: DRM license is not supported yet
06-15 18:06:50.609 13698 13850 I IJKMEDIA: HLS request for url 'https://siloh-aka.plutotv.net/abe03d_MGM_Studios/clip/5966922a70e766a31078cf8d_Dark_Blue_2003/720pDRM/20210513_081743/hls/0-end/fp/hls_2400_001373.ts', offset 0, playlist 0
06-15 18:06:50.609 13698 13850 W IJKMEDIA: Failed to open segment 1376 of playlist 0
06-15 18:06:50.609 13698 13850 W IJKMEDIA: Failed to open segment 1380 of playlist 0
06-15 18:06:50.609 13698 13850 E IJKMEDIA: DRM license is not supported yet

Root cause

lack of Apple's FairPlay DRM supportive in latest FFmpeg4.4

DASH not support in original ijkplayer


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { DASH }

Issue Description

DASH content not support in original ijkplayer

How to reproduce the issue

  1. open a DASH content
  2. launch playback

1858786628

Root cause

lack of DASH dependent libraries in latest FFmpeg4.4

How to fix

pls refer to

https://github.com/zhouwg/kantv/blob/kantv/build-all-native-libs.sh

https://github.com/zhouwg/FFmpeg

we had been did some enhancement/bug-fix workloads in kantv's dependent FFmpeg

PoC:high-security client subystem to vs various whitebox attack


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { security }

PoC Description

design and implement high-security subsystem for KanTV apk to vs various whitebox attack

References

https://github.com/zhouwg/kantv/tree/kantv/doc/drm

https://github.com/zhouwg/kantv/tree/kantv/doc/tee

zhouwg/FFmpeg@3589e88

zhouwg/FFmpeg@cde324c

refine UI according to HuaWei Music


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

UI should be refined to improve user experience

How to reproduce the issue

  1. open kantv apk
  2. UI is simple should be refined to improve user experience

current Chinese UI in kantv apk:


Screenshot_20210627_112635_tv danmaku ijk kantv
Screenshot_20210627_112651_tv danmaku ijk kantv

Screenshot_20210627_111156_tv danmaku ijk kantv

Screenshot_20210627_111205_tv danmaku ijk kantv

UI in HuaWei Music apk:

869651283
731055475

Root cause

lack of UI designer

Crash when playing .wmv video

Required Info Descripttion
Host Operating System & Version {Ubuntu 20 }
Branch {kantv}
Android version {10}
Android Studio Version {4.2.1}
NDK Version {r14b}
Xcode Version {10.x/12.x}
Language {C}
Section {wmv}

Issue Description:
But the program crashes when I try to play a video in .wmv format

question:
why does it crash?

feature:
How to solve the crash problem and fix the can’t play wmv format?

How to reproduce the issue:
Steps:
1.This is the video link I tested and needs to be decompressed after downloading

2.Choose local download http://down1.5156edu.com/showzipdown_wap.php?id=33641

3.Then play the 黄河视频.wmv inside, you will find that the program crashes and the Android studio reports a jni error

logs:

|  Process Name: 'com.'
Thread Name: 'ff_read'
pid: 19781, tid: 20104 >>> com. <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000000000000008
x0 0000000000000000 x1 0000007ad4d7a970 x2 000000000000066f x3 0000000000000002
x4 0000000000000000 x5 0000007ad4d7b000 x6 0000007ad33896b0 x7 ffffff80ffffffd8
x8 0000000000000007 x9 0000007ad510b668 x10 0101010101010101 x11 0000000000000000
x12 0000000000000000 x13 0000000000000004 x14 0000000000000008 x15 ffffffffffffffff
x16 0000007ad5171290 x17 0000007bb53fc46c x18 0000000000000009 x19 0000007b33819760
x20 0000007b18825000 x21 0000007a88f0f000 x22 0000000000000000 x23 0000007ad4d7a000
x24 0000007ad4d7a000 x25 0000007ad4d7ac00 x26 0000007ad4d7a970 x27 000000000000c350
x28 000000000000c350 x29 0000007ad3389b30 x30 0000007ad461b8cc
sp 0000007ad33896e0 pc 0000007ad461b92c pstate 00000000a0000000
v0 000000000000000017380dac60d358ec v1 012f2f2f2f2f2f2f2f2f2f2f2f2f2f2f
v2 656465746f6d65722e676f6c7768002f v3 00000000000000000000000000000000
v4 00000000000000000000000000000800 v5 00000000000000000000000000000000
v6 00000000000000004000000000000000 v7 80200802802008028020080280200802
v8 00000000000000003f40624dd2f1a9fc v9 00000000000000003eb0c6f7a0b5ed8d
v10 00000000000000003ff0000000000000 v11 00000000000000000000000000000000
v12 00000000000000000000000000000000 v13 00000000000000000000000000000000
v14 00000000000000000000000000000000 v15 00000000000000000000000000000000
v16 40100401401004014010040140100401 v17 00000000400000080000400800000000
v18 00000000000000004000000000000800 v19 0000000000000000bd2ef35793c76730
v20 00000000000000003ff0002b8b263fc3 v21 0000000000000000bfe62e42fefa3800
v22 0000000000000000ffffffffffffffff v23 ffffffffffffffffffffffffffffffff
v24 014a006a006a006a006a014a3fe0402a v25 40004000400040004000400040004000
v26 0149006900690069006901493fdf4029 v27 0000000000000000050101010105ffff
v28 0000000000000000050101010105ffff v29 0000000000000000050101010105ffff
v30 ffffffffffffffffffffffffffffffff v31 00000000000000000000000072dd270c
fpsr 08000012 fpcr 00000000
#0 pc 000000000028d92c /data/app/com.-Ujrj-Ub-Y4BDIXv-ZahrCA==/lib/arm64/libijkplayer.so
#1 pc 000000000028d8c8 /data/app/com.-Ujrj-Ub-Y4BDIXv-ZahrCA==/lib/arm64/libijkplayer.so

memory near x1:
0000007ad4d7a930 0804000e0f000000 ff73000500020000 ..............s.
0000007ad4d7a940 0009ff73ff730007 76206765706d4646 ..s.s...FFmpeg v
0000007ad4d7a950 6e206e6f69737265 672d38322d342e34 ersion n4.4-28-g
0000007ad4d7a960 3333346566653730 0000000000633937 07efe43379c.....
0000007ad4d7a970 6172665f64616572 7265746e695f656d read_frame_inter
0000007ad4d7a980 00000000006c616e 3736353433323130 nal.....01234567
0000007ad4d7a990 6665646362613938 3736353433323130 89abcdef01234567
0000007ad4d7a9a0 4645444342413938 28106e6701000000 89ABCDEF....gn.(
0000007ad4d7a9b0 18710c333220d4a6 8c38861919106288 .. 23.q..b....8.
0000007ad4d7a9c0 376f4e5602213044 de7cf36b81bff9cd D0!.VNo7....k.|.
0000007ad4d7a9d0 7e22a0053cd36c6e 048c13000c00fc5f nl.<.."_.......
0000007ad4d7a9e0 0001000300000504 0000008432000300 ...........2....
0000007ad4d7a9f0 1231ee6801000000 0000000000000011 ....h.1.........
0000007ad4d7aa00 29107a6701000000 63c619332220d4b6 ....gz.).. "3..c
0000007ad4d7aa10 1933ce9811012123 7e7d3db956022118 #!....3..!.V.=}
0000007ad4d7aa20 b8089ef1113fe34f e2270278c043548c O.?......TC.x.'.

memory near x5:
0000007ad4d7afc0 656c62616e652d2d 6b726f7774656e2d --enable-network
0000007ad4d7afd0 62617369642d2d20 32617678642d656c --disable-dxva2
0000007ad4d7afe0 62617369642d2d20 69706161762d656c --disable-vaapi
0000007ad4d7aff0 62617369642d2d20 75617064762d656c --disable-vdpau
0000007ad4d7b000 62617369642d2d20 646f636e652d656c --disable-encod
0000007ad4d7b010 69642d2d20737265 77682d656c626173 ers --disable-hw
0000007ad4d7b020 2d20736c65636361 656c62617369642d accels --disable
0000007ad4d7b030 2073726578756d2d 6c62617369642d2d -muxers --disabl
0000007ad4d7b040 6563697665642d65 617369642d2d2073 e-devices --disa
0000007ad4d7b050 6e6f63692d656c62 62616e652d2d2076 ble-iconv --enab
0000007ad4d7b060 6f746f72702d656c 6e7973613d6c6f63 le-protocol=asyn
0000007ad4d7b070 617369642d2d2063 756e696c2d656c62 c --disable-linu
0000007ad4d7b080 2d20667265702d78 2d656c62616e652d x-perf --enable-
0000007ad4d7b090 6c6f636f746f7270 206f74707972633d protocol=crypto
0000007ad4d7b0a0 656c62616e652d2d 726578756d65642d --enable-demuxer
0000007ad4d7b0b0 61645f6d6265773d 66696e616d5f6873 =webm_dash_manif

memory near x6:
0000007ad3389670 0000000000000800 0000000000000000 ................
0000007ad3389680 0000000000000000 0000000000000000 ................
0000007ad3389690 4000000000000000 0000000000000000 .......@........
0000007ad33896a0 8020080280200802 8020080280200802 .. ... ... ... .
0000007ad33896b0 0000007ad480d5c8 0000007ad4dabb7b ....z...{...z...
0000007ad33896c0 0000007ad46a8620 0000000000000080 .j.z...........
0000007ad33896d0 085d505a722b7a00 000000000003767c .z+rZP].|v......
0000007ad33896e0 0000000000000000 0000007a88d3bbe0 ............z...
0000007ad33896f0 000000000000c350 0000000000000000 P...............
0000007ad3389700 0000000000000002 0000000000000000 ................
0000007ad3389710 0000000000000000 0000000000000014 ................
0000007ad3389720 0000007a88f0f000 0000007a88f0f4c8 ....z.......z...
0000007ad3389730 000000000000c350 000000000000c350 P.......P.......
0000007ad3389740 0000007ad461f4b8 0000007b33819760 ..a.z...`..3{...
0000007ad3389750 0000007b18825200 0000007bb542e290 .R..{.....B.{...
0000007ad3389760 0000007ad338a020 0000000000000000 .8.z...........

memory near x9:
0000007ad510b628 0000000000000000 0000000000000000 ................
0000007ad510b638 0000000100015000 0000007ad4dabb69 .P......i...z...
0000007ad510b648 0000000000000000 0000000000000003 ................
0000007ad510b658 0000000000000000 0000000000000000 ................
0000007ad510b668 0000000100015001 0000007ad4d6c134 .P......4...z...
0000007ad510b678 0000000000000000 0000000000000003 ................
0000007ad510b688 0000000000000000 0000000000000000 ................
0000007ad510b698 0000000100015002 0000007ad4d7e4bf .P..........z...
0000007ad510b6a8 0000000000000000 0000000000000003 ................
0000007ad510b6b8 0000000000000000 0000000000000000 ................
0000007ad510b6c8 0000000100015003 0000007ad4d7c87a .P......z...z...
0000007ad510b6d8 0000000000000000 0000000000000003 ................
0000007ad510b6e8 0000000000000000 0000000000000000 ................
0000007ad510b6f8 0000000100015004 0000007ad4d70dee .P..........z...
0000007ad510b708 0000000000000000 0000000000000007 ................
0000007ad510b718 0000000000000000 0000000000000000 ................

memory near x10:
0101010101010100 ---------------- ---------------- ................

memory near x16:
0000007ad5171250 0000007b23caaf1c 0000007bb541fac0 ...#{.....A.{...
0000007ad5171260 0000007b23cb3c7c 0000007b23cac38c |<.#{......#{...
0000007ad5171270 0000007b23d4a088 0000007bb540d470 ...#{...p.@.{...
0000007ad5171280 0000007bb4679e38 0000007bb4662960 8.g.{...)f.{... 0000007ad5171290 0000007bb53fc46c 0000007bb4678ea4 l.?.{.....g.{... 0000007ad51712a0 0000007b23cb02c0 0000007bb540e0e0 ...#{.....@.{... 0000007ad51712b0 0000007bb540cc90 0000007b23cabb70 ..@.{...p..#{... 0000007ad51712c0 0000007bb53cef78 0000007b23cb0780 x.<.{......#{... 0000007ad51712d0 0000007b23cac6a8 0000007bb53fd2b8 ...#{.....?.{... 0000007ad51712e0 0000007bb540ca90 0000007bb53ca138 ..@.{...8.<.{... 0000007ad51712f0 0000007b23a1bb78 0000007b23cabfb0 x..#{......#{... 0000007ad5171300 0000007bb540c970 0000007bb540dddc p.@.{.....@.{... 0000007ad5171310 0000007bb5421180 0000007bb892926c ..B.{...l...{... 0000007ad5171320 0000007b23836090 0000007bb4679700 ..#{.....g.{...
0000007ad5171330 0000007b23cb3dd4 0000007bb53db3c0 .=.#{.....=.{...
0000007ad5171340 0000007b23cabb10 0000007b23cac3c4 ...#{......#{...

memory near x17:
0000007bb53fc428 f94012609400a026 9400a023b4000040 &....@.@...#... 0000007bb53fc438 b4000040f9401660 f9403e609400a020 .@.@... ...>@. 0000007bb53fc448 9400a01db4000040 aa1303e0a9417bfd @........{A..... 0000007bb53fc458 1400a019f84207f3 f84207f3a9417bfd ..B......{A...B. 0000007bb53fc468 a9bc5ff8d65f03c0 a9024ff4a90157f6 .......W...O.. 0000007bb53fc478 9100c3fda9037bfd aa0403f3b4000262 .{......b....... 0000007bb53fc488 aa0203f7aa0303f4 aa0003f6aa0103f5 ................ 0000007bb53fc498 9b145518d341fee8 aa1803e1aa1603e0 ..A..U.......... 0000007bb53fc4a8 34000120d63f0260 1a9fd7e87100001f .?. ..4...q....
0000007bb53fc4b8 cb0802e88b140309 9a95c135d341fd17 ..........A.5...
0000007bb53fc4c8 aa1f03f8b5fffe97 a9424ff4a9437bfd .........{C..OB.
0000007bb53fc4d8 aa1803e0a94157f6 d65f03c0a8c45ff8 .WA...........
0000007bb53fc4e8 910de000f0000140 fc1e0fe81400a518 @...............
0000007bb53fc4f8 a9017bfdf90007f3 aa0003f3910043fd .....{...C......
0000007bb53fc508 7d4002609400005a 7e61d800128005e0 Z....@}......a~ 0000007bb53fc518 4ea01c089400a512 321b6be07d400660 .......N.@}.k.2

memory near x19:
0000007b33819720 0000000000000000 0000000000000000 ................
0000007b33819730 0000000000000000 0000000000000000 ................
0000007b33819740 0000000000000000 ffffffffffffffff ................
0000007b33819750 0000000000000000 0000007d7d3b3165 ........e1;}}...
0000007b33819760 0000007a88eba680 8000000000000000 ....z...........
0000007b33819770 0000000000000000 0000007a88d3e000 ............z...
0000007b33819780 0000000000000280 0000000000000001 ................
0000007b33819790 0000000000000000 0000000000000000 ................
0000007b338197a0 0000000000000000 0000000000007b6c ........l{......
0000007b338197b0 0000000000000000 0000000000000000 ................
0000007b338197c0 0000007bb7d5c9a8 0000000000000002 ....{...........
0000007b338197d0 0000000000000000 0000000000000000 ................
0000007b338197e0 0000000000000000 0000000000000000 ................
0000007b338197f0 0000000000000000 0000000000000000 ................
0000007b33819800 0000000000000000 3df8f8fa00000000 ...............=
0000007b33819810 4080000000000000 0000000000000d01 .......@........

memory near x20:
0000007b18824fc0 0000000000000000 0000000000000000 ................
0000007b18824fd0 0000000000000000 0000000000000000 ................
0000007b18824fe0 0000000000000000 0000000000000000 ................
0000007b18824ff0 0000000000000000 0000000000000000 ................
0000007b18825000 0000000100000000 0000007a88c83700 .........7..z...
0000007b18825010 0000000000000000 000003e800000001 ................
0000007b18825020 8000000000000000 000000000001be18 ................
0000007b18825030 0000000000000000 0000000000000000 ................
0000007b18825040 0000000100000000 0000007a89296ab0 .........j).z...
0000007b18825050 0000000000000000 0000000000000000 ................
0000007b18825060 0000000000000000 0000000000000000 ................
0000007b18825070 0000000000000000 0000000000000000 ................
0000007b18825080 0000000000000000 0000000000000000 ................
0000007b18825090 0000000000000000 0000000000000000 ................
0000007b188250a0 0000000000000000 0000000000000000 ................
0000007b188250b0 0000000000000000 0000000200000000 ................

memory near x21:
0000007a88f0efc0 0000000000000000 0000000000000000 ................
0000007a88f0efd0 0000000000000000 0000000000000000 ................
0000007a88f0efe0 0000000000000000 0000000000000000 ................
0000007a88f0eff0 0000000000000000 0000000000000000 ................
0000007a88f0f000 0000007ad50fd030 0000007ad5177320 0...z... s..z...
0000007a88f0f010 0000000000000000 0000007ad317d000 ............z...
0000007a88f0f020 0000007b22b940c0 0000000200000000 .@."{...........
0000007a88f0f030 0000007a89296a70 656761726f74732f pj).z.../storage
0000007a88f0f040 6574616c756d652f 4d4943442f302f64 /emulated/0/DCIM
0000007a88f0f050 2f6172656d61432f a7e8b3b2e684bbe9 /Camera/........
0000007a88f0f060 6d772e3191a2e986 0000000000000076 ....1.wmv.......
0000007a88f0f070 0000000000000000 0000000000000000 ................
0000007a88f0f080 0000000000000000 0000000000000000 ................
0000007a88f0f090 0000000000000000 0000000000000000 ................
0000007a88f0f0a0 0000000000000000 0000000000000000 ................
0000007a88f0f0b0 0000000000000000 0000000000000000 ................

memory near x23:
0000007ad4d79fc0 0000000000000000 0000000000000000 ................
0000007ad4d79fd0 0000000000000000 0000000000000000 ................
0000007ad4d79fe0 0000000000000000 0000000000000000 ................
0000007ad4d79ff0 0000000000000000 0000000000000000 ................
0000007ad4d7a000 0000000000000000 0000000000000000 ................
0000007ad4d7a010 0000000000000000 0000000000000000 ................
0000007ad4d7a020 0000000000000000 0000000000000000 ................
0000007ad4d7a030 0000000000000000 0000000000000000 ................
0000007ad4d7a040 0000000000000000 0000000000000000 ................
0000007ad4d7a050 0000000000000000 0000000000000000 ................
0000007ad4d7a060 0000000000000000 0000000000000000 ................
0000007ad4d7a070 0000000000000000 0000000000000000 ................
0000007ad4d7a080 0000000000000000 0000000000000000 ................
0000007ad4d7a090 0000000000000000 0000000000000000 ................
0000007ad4d7a0a0 0000000000000000 0000000000000000 ................
0000007ad4d7a0b0 0000000000000000 0000000000000000 ................

memory near x24:
0000007ad4d79fc0 0000000000000000 0000000000000000 ................
0000007ad4d79fd0 0000000000000000 0000000000000000 ................
0000007ad4d79fe0 0000000000000000 0000000000000000 ................
0000007ad4d79ff0 0000000000000000 0000000000000000 ................
0000007ad4d7a000 0000000000000000 0000000000000000 ................
0000007ad4d7a010 0000000000000000 0000000000000000 ................
0000007ad4d7a020 0000000000000000 0000000000000000 ................
0000007ad4d7a030 0000000000000000 0000000000000000 ................
0000007ad4d7a040 0000000000000000 0000000000000000 ................
0000007ad4d7a050 0000000000000000 0000000000000000 ................
0000007ad4d7a060 0000000000000000 0000000000000000 ................
0000007ad4d7a070 0000000000000000 0000000000000000 ................
0000007ad4d7a080 0000000000000000 0000000000000000 ................
0000007ad4d7a090 0000000000000000 0000000000000000 ................
0000007ad4d7a0a0 0000000000000000 0000000000000000 ................
0000007ad4d7a0b0 0000000000000000 0000000000000000 ................

memory near x25:
0000007ad4d7abc0 030000282020603c 2094010300000800 <` (..........
0000007ad4d7abd0 4833ce6801000000 00000000000000d0 ....h.3H........
0000007ad4d7abe0 74616d726f667661 74735f646e69665f avformat_find_st
0000007ad4d7abf0 666e695f6d616572 000000000000006f ream_info.......
0000007ad4d7ac00 726f66766162696c 6c6974752f74616d libavformat/util
0000007ad4d7ac10 626f727000632e73 6572747320676e69 s.c.probing stre
0000007ad4d7ac20 7070206425206d61 696146000a64253a am %d pp:%d..Fai
0000007ad4d7ac30 72206f742064656c 7461636f6c6c6165 led to reallocat
0000007ad4d7ac40 2065626f72702065 6620726566667562 e probe buffer f
0000007ad4d7ac50 616572747320726f 6f6e000a6425206d or stream %d..no
0000007ad4d7ac60 6f7420676e696874 662065626f727020 thing to probe f
0000007ad4d7ac70 616572747320726f 7250000a6425206d or stream %d..Pr
0000007ad4d7ac80 687469772065626f 64253d657a697320 obe with size=%d
0000007ad4d7ac90 74656b636170202c 7465642064253d73 , packets=%d det
0000007ad4d7aca0 7325206465746365 6373206874697720 ected %s with sc
0000007ad4d7acb0 000a64253d65726f 73206465626f7270 ore=%d..probed s

memory near x26:
0000007ad4d7a930 0804000e0f000000 ff73000500020000 ..............s.
0000007ad4d7a940 0009ff73ff730007 76206765706d4646 ..s.s...FFmpeg v
0000007ad4d7a950 6e206e6f69737265 672d38322d342e34 ersion n4.4-28-g
0000007ad4d7a960 3333346566653730 0000000000633937 07efe43379c.....
0000007ad4d7a970 6172665f64616572 7265746e695f656d read_frame_inter
0000007ad4d7a980 00000000006c616e 3736353433323130 nal.....01234567
0000007ad4d7a990 6665646362613938 3736353433323130 89abcdef01234567
0000007ad4d7a9a0 4645444342413938 28106e6701000000 89ABCDEF....gn.(
0000007ad4d7a9b0 18710c333220d4a6 8c38861919106288 .. 23.q..b....8.
0000007ad4d7a9c0 376f4e5602213044 de7cf36b81bff9cd D0!.VNo7....k.|.
0000007ad4d7a9d0 7e22a0053cd36c6e 048c13000c00fc5f nl.<.."_.......
0000007ad4d7a9e0 0001000300000504 0000008432000300 ...........2....
0000007ad4d7a9f0 1231ee6801000000 0000000000000011 ....h.1.........
0000007ad4d7aa00 29107a6701000000 63c619332220d4b6 ....gz.).. "3..c
0000007ad4d7aa10 1933ce9811012123 7e7d3db956022118 #!....3..!.V.=}
0000007ad4d7aa20 b8089ef1113fe34f e2270278c043548c O.?......TC.x.'.

memory near x27:
000000000000c350 ---------------- ---------------- ................

memory near x28:
000000000000c350 ---------------- ---------------- ................

memory near x29:
0000007ad3389af0 0000007ad3389b30 0000007ad455d6cc 0.8.z.....U.z...
0000007ad3389b00 0000007ad310e000 0000007ad300d000 ....z.......z...
0000007ad3389b10 0000007a88c82478 0000007a88c82300 x$..z....#..z...
0000007ad3389b20 0000007a88c82310 0000007a96d86280 .#..z....b..z...
0000007ad3389b30 0000007ad3389ce0 0000007b23cabe10 ..8.z......#{...
0000007ad3389b40 0000007ad300d008 0000007ad300d020 ....z... ...z...
0000007ad3389b50 0000007ad3389d50 00004d4500004d45 P.8.z...EM..EM..
0000007ad3389b60 0000007ad3389dd8 0000007ad3389d50 ..8.z...P.8.z...
0000007ad3389b70 0000007ad3389d50 0000007ad338a020 P.8.z... .8.z...
0000007ad3389b80 0000007bb917d020 0000000000000001 ...{...........
0000007ad3389b90 7ff8000000000000 3eb0c6f7a0b5ed8d ...............>
0000007ad3389ba0 3ff0000000000000 0000000000000000 .......?........
0000007ad3389bb0 0000000000000000 0000000000000000 ................
0000007ad3389bc0 0000000000000000 0000000000000000 ................
0000007ad3389bd0 0000007bb917d020 0000000000000001 ...{...........
0000007ad3389be0 0000007b23cabdf8 0000000000000000 ...#{...........

code around pc:
0000007ad461b8e8 7100103f1400000a b940b80154000081 ....?..q...T..@.
0000007ad461b8f8 14000005321f0021 540000817100143f !..2....?..q...T
0000007ad461b908 32140021b940b801 f9408a80b900b801 ..@.!..2......@.
0000007ad461b918 aa1a03e190003b05 528000435280cde2 .;.........RC..R
0000007ad461b928 f9400406d2800004 aa1903e0913848a5 ......@..H8.....
0000007ad461b938 94110d46f94000c6 34000060b9410e80 ..@.F.....A...4 0000007ad461b948 b50003a0f9408a80 aa1503e0d2f00004 ..@............. 0000007ad461b958 d2800002aa1403e1 aa0403e5aa1303e3 ................ 0000007ad461b968 97fff3ac5280003b b9401000f94006a0 ;..R......@...@. 0000007ad461b978 b9402a60364005a0 f9400a6136000560 ..@6@.`..6a.@.
0000007ad461b988 eb00003fd2f00000 b9400281540004e0 ....?......T..@.
0000007ad461b998 97fff754aa1503e0 aa1403e0f9402661 ....T...a&@.....
0000007ad461b9a8 52800003f9400a62 2a1b03e552800004 [email protected]...
0000007ad461b9b8 1400001c97fff81d 7100bc1fb9403e80 .........>@....q
0000007ad461b9c8 b9402662540002cc aa1303e1aa1503e0 ...Tb&@.........
0000007ad461b9d8 97fff60052800003 37f81ad62a0003f6 ...R.......*...7

code around lr:
0000007ad461b888 f9406a8014000004 b9400400d2800001 .....j@.......@.
0000007ad461b898 f9008a8094061161 b5000180f9408a80 a.........@.....
0000007ad461b8a8 b9400400f9406a80 aa0003e39407c741 .j@[email protected].......
0000007ad461b8b8 aa1503e090003b02 9137444252800501 .;.........RBD7.
0000007ad461b8c8 b9010e9f94110c7b b9410e8114000011 {.............A.
0000007ad461b8d8 540000817100083f 32000021b940b801 ?..q...T..@.!..2
0000007ad461b8e8 7100103f1400000a b940b80154000081 ....?..q...T..@.
0000007ad461b8f8 14000005321f0021 540000817100143f !..2....?..q...T
0000007ad461b908 32140021b940b801 f9408a80b900b801 ..@.!..2......@.
0000007ad461b918 aa1a03e190003b05 528000435280cde2 .;.........RC..R
0000007ad461b928 f9400406d2800004 aa1903e0913848a5 [email protected].....
0000007ad461b938 94110d46f94000c6 34000060b9410e80 [email protected] 0000007ad461b948 b50003a0f9408a80 aa1503e0d2f00004 ..@............. 0000007ad461b958 d2800002aa1403e1 aa0403e5aa1303e3 ................ 0000007ad461b968 97fff3ac5280003b b9401000f94006a0 ;..R......@...@. 0000007ad461b978 b9402a60364005a0 f9400a6136000560 ..@6*@.`..6a.@.

stack:
0000007ad3389660: 0000000000000000 0000000000000000
0000007ad3389670: 0000000000000800 0000000000000000
0000007ad3389680: 0000000000000000 0000000000000000
0000007ad3389690: 4000000000000000 0000000000000000
0000007ad33896a0: 8020080280200802 8020080280200802
0000007ad33896b0: 0000007ad480d5c8 0000007ad4dabb7b
0000007ad33896c0: 0000007ad46a8620 0000000000000080
0000007ad33896d0: 085d505a722b7a00 000000000003767c
0000007ad33896e0: 0000000000000000 0000007a88d3bbe0 #sp
0000007ad33896f0: 000000000000c350 0000000000000000
0000007ad3389700: 0000000000000002 0000000000000000
0000007ad3389710: 0000000000000000 0000000000000014
0000007ad3389720: 0000007a88f0f000 0000007a88f0f4c8
0000007ad3389730: 000000000000c350 000000000000c350
0000007ad3389740: 0000007ad461f4b8 0000007b33819760
0000007ad3389750: 0000007b18825200 0000007bb542e290
0000007ad3389760: 0000007ad338a020 0000000000000000
0000007ad3389770: 0000007a88f23d80 0000007a88e84090
0000007ad3389780: 0000007ad33897f0 0000007bb53ad3cc
0000007ad3389790: 00000000000000f0 0000007b33819760
0000007ad33897a0: 0000000c0000003c 000000010000000f
0000007ad33897b0: 0000000000000000 2bc1bffb4f837b46
0000007ad33897c0: 0000007a96dc3b80 0000000000000010
0000007ad33897d0: 0000000000000010 0000007a88c84600
0000007ad33897e0: 0000007b33819760 0000007ad3389818
0000007ad33897f0: 0000007ad3389b30 0000007ad4a5356c
0000007ad3389800: 0000007b33819760 0000007ad465e954
0000007ad3389810: 0000007ad465e94c 0000000000000000
0000007ad3389820: 0000007ad461f220 0000007ad461fb78
0000007ad3389830: 0000007ad310e000 0000007ad300d000
0000007ad3389840: 0000007a88c82478 0000007a88c82300
0000007ad3389850: 0000007a88c82310 0000000000000000
0000007ad3389860: 0000000000000002 0000000000000001
0000007ad3389870: 0000007bb917d020 0000000000000001
0000007ad3389880: 0000007ad455d748 7ff8000000000000
0000007ad3389890: 3eb0c6f7a0b5ed8d 3ff0000000000000
0000007ad33898a0: 0000000000000000 0000000000000000
0000007ad33898b0: 0000000000000000 2bc1bffb4f837b46
0000007ad33898c0: 0000007b3382cfa0 0000007b33819760
0000007ad33898d0: 00000000004c4b40 00000011339421b0
0000007ad33898e0: 0000000000000010 0000007a88f23d80
0000007ad33898f0: 0000000000000020 0000007a89296820
0000007ad3389900: 0000007a88f23d88 0000000000000020
0000007ad3389910: 0000007ad33899a0 000f424000000001
0000007ad3389920: 0000007b33a00b68 0000000000006b2a
0000007ad3389930: 0000007a00000000 2bc1bffb4f837b46
0000007ad3389940: 0000000000000000 0000000100000002
0000007ad3389950: 0000000000000a9c 0000007ad4d7c442
0000007ad3389960: 0000007ad4d7c3f1 0000007ad4d7adbf
0000007ad3389970: 0000007a88c83c00 0000007a96dc3400
0000007ad3389980: 0000000000000028 0000000000000000
0000007ad3389990: 0000007a89296820 0000000000000020
0000007ad33899a0: 0000007ad33899c0 0000007bb5390504
0000007ad33899b0: 0000000000000000 0000007a89296820
0000007ad33899c0: 0000007ad3389a50 0000007ad4a60630
0000007ad33899d0: 0000007a89296bf0 0000007ad4a555f8
0000007ad33899e0: 0000007ad3389a50 0000000000000020
0000007ad33899f0: 0000007aac701ab0 0000007ad4fa3898
0000007ad3389a00: 0000000000000012 0000007a88f0f000
0000007ad3389a10: 0000007b339421b0 0000007b18825200
0000007ad3389a20: 0000007b339421b0 0000007ad5199f20
0000007ad3389a30: 0000000000000000 0000007ad4550ee4
0000007ad3389a40: 0000007a89296830 0000007b3382b468
0000007ad3389a50: 0000007ad3389af0 0000007ad45510a8
0000007ad3389a60: 0000000000000008 0000007a88f0f000
0000007ad3389a70: 0000000000000002 0000007b3382cfa0
0000007ad3389a80: 0000007b339421b0 0000000000000000
0000007ad3389a90: 0000007ad4d54000 0000000000000001
0000007ad3389aa0: 0000007bb917d020 0000000000000001
0000007ad3389ab0: 00000076d310e000 0000007ad4d53ae8
0000007ad3389ac0: 0000007ad3389ad8 0000007ad3389ae0
0000007ad3389ad0: 0000007ad310e000 0000007a89296bf0
0000007ad3389ae0: 0000007ad5112f00 2bc1bffb4f837b46
0000007ad3389af0: 0000007ad3389b30 0000007ad455d6cc
0000007ad3389b00: 0000007ad310e000 0000007ad300d000
0000007ad3389b10: 0000007a88c82478 0000007a88c82300
0000007ad3389b20: 0000007a88c82310 0000007a96d86280
0000007ad3389b30: 0000007ad3389ce0 0000007b23cabe10
0000007ad3389b40: 0000007ad300d008 0000007ad300d020
0000007ad3389b50: 0000007ad3389d50 00004d4500004d45
0000007ad3389b60: 0000007ad3389dd8 0000007ad3389d50
0000007ad3389b70: 0000007ad3389d50 0000007ad338a020
0000007ad3389b80: 0000007bb917d020 0000000000000001
0000007ad3389b90: 7ff8000000000000 3eb0c6f7a0b5ed8d
0000007ad3389ba0: 3ff0000000000000 0000000000000000
0000007ad3389bb0: 0000000000000000 0000000000000000
0000007ad3389bc0: 0000000000000000 0000000000000000
0000007ad3389bd0: 0000007bb917d020 0000000000000001
0000007ad3389be0: 0000007b23cabdf8 0000000000000000
0000007ad3389bf0: 0000007aac701fd0 0000002700000000
0000007ad3389c00: 0000007b23d4c610 0000007a88f0f000
0000007ad3389c10: ffffffffffffffff ffffffffffffffff
0000007ad3389c20: 0000007affffffff 0000007b3382cfa0
0000007ad3389c30: 0000007ad3389ce0 0000007ad3389ce0
0000007ad3389c40: 0000007ad3389cd0 ffffff80fffffff0
0000007ad3389c50: 0000007b00000000 0000007ad3291000
0000007ad3389c60: 0000000000000000 2bc1bffb4f837b46
0000007ad3389c70: 00000000000f8d50 0000000000001000
0000007ad3389c80: 0000000000000197 0000000000000000
0000007ad3389c90: 0000000000000000 0000000000000000
0000007ad3389ca0: 0000000000000000 0000007ad3389dd8
0000007ad3389cb0: 00004d4500004d45 0000007ad3389d50
0000007ad3389cc0: 0000007ad300d020 0000007ad300d008
0000007ad3389cd0: 0000007ad3389ce0 2bc1bffb4f837b46
0000007ad3389ce0: 0000007ad3389d10 0000007bb54206f4
0000007ad3389cf0: 0000007ad3389d50 0000007bb54206cc
0000007ad3389d00: 0000007ad3389d50 0000000000000000
0000007ad3389d10: 0000007ad3389d40 0000007bb53c30ec
0000007ad3389d20: 0000007bba5510d0 0000000000000000
0000007ad3389d30: 0000007bb917d020 0000007bba551388
0000007ad3389d40: 0000000000000000 0000000000000000
0000007ad3389d50: 0000007b23112d50 0000000000000000
0000007ad3389d60: 00004d4500004e88 0000007b00000000
0000007ad3389d70: 0000007ad3291000 00000000000f8d50
0000007ad3389d80: 0000000000001000 0000000000000000
0000007ad3389d90: 2bc1bffb4f837b46 0000007ad310ed28
0000007ad3389da0: 0000000000000000 0000000000000000
0000007ad3389db0: 0000007b23cabdb0 0000007ad300d008
0000007ad3389dc0: 0000000000000000 0000007bb6a32000
0000007ad3389dd0: 0000007a6e0b0000 0000000000000001
0000007ad3389de0: 0000007ad3291000 00000000000fd000
0000007ad3389df0: 0000000000000000 0000000000000000
0000007ad3389e00: 0000000000000000 0000000000000000
0000007ad3389e10: 0000000000000000 0000000000000000
0000007ad3389e20: 0000000000000000 0000000000000000
0000007ad3389e30: 0000000000000000 0000000000000000
0000007ad3389e40: 0000000000000000 0000000000000000
0000007ad3389e50: 0000000000000000 0000000000000000
0000007ad3389e60: 0000000000000000 0000000000000000
0000007ad3389e70: 0000000000000000 0000000000000000
0000007ad3389e80: 0000000000000000 0000000000000000
0000007ad3389e90: 0000000000000000 0000000000000000
0000007ad3389ea0: 0000000000000000 0000000000000000
0000007ad3389eb0: 0000000000000000 0000000000000000
0000007ad3389ec0: 0000000000000000 0000000000000000
0000007ad3389ed0: 0000000000000000 0000000000000000
0000007ad3389ee0: 0000000000000000 0000000000000000
0000007ad3389ef0: 0000000000000000 0000000000000000
0000007ad3389f00: 0000000000000000 0000000000000000
0000007ad3389f10: 0000000000000000 0000000000000000
0000007ad3389f20: 0000000000000000 0000000000000000
0000007ad3389f30: 0000000000000000 0000000000000000
0000007ad3389f40: 0000000000000000 0000000000000000
0000007ad3389f50: 0000000000000000 0000000000000000
0000007ad3389f60: 0000000000000000 0000000000000000	  |

HLS H264 China SM4 not support in original ijkplayer


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { HLS }

Issue Description

HLS H264 China SM4 encrypted content not support in original ijkplayer

How to reproduce the issue

  1. open a H264 China SM4 encrypted HLS content
  2. launch playback

Root cause

lack of H264 China SM4 supportive in latest FFmpeg4.4

How to fix

pls refer to:

#5

Status

the workload of fix this issue is on going

Defect

no planning for target iOS at the moment

HLS H265 SampleAES not support in original ijkplayer


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { HLS }

Issue Description

HLS H265 SampleAES not support in original ijkplayer

How to reproduce the issue

  1. open a H265 SampleAES encrypted HLS content

  2. launch playback

  3. following log information would be found:

    SAMPLE-AES encryption is not supported yet
    Failed to open segment 0 of playlist 0

Root cause

lack of H265 SampleAES supportive in latest FFmpeg4.4

How to fix

pls refer to:

#5

PoC:update EPG automatically and enable apk user upload/edit EPG info


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { EPG / UI }

PoC Description

online TV channels and online radio channels in internal prebuild EPG is limited,

should we add a feature that update EPG automatically and enable apk user upload/edit EPG?

PoC: realtime recording for online TV


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { playback }

PoC Description

realtime recording for online TV

PoC: share screenshot of playbacking online tv via WeChat


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

PoC Description

share screenshot of playbacking online tv via WeChat

PoC:telemetry subsystem for analysis user's behaviour


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { poc / ai }

PoC Description

a full telemetry subsystem for UI & background statistical usage and purpose of analysis user's behaviour

HLS AES-128 encrypted content not support in original ijkplayer


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { HLS }

Issue Description

HLS AES-128 encrypted content not support in original ijkplayer

How to reproduce the issue

  1. open a HLS AES-128 encrypted content
  2. launch playback

1858786628

Root cause

lack of HLS AES-128 supportive in latest FFmpeg4.4

How to fix

pls refer to
zhouwg/FFmpeg#1

we had been did some enhancement/bug-fix workloads in kantv's dependent FFmpeg

lack of Chinese Language for UI


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

lack of Chinese Language for UI

How to reproduce the issue

  1. open one of online TV/radio/movie
  2. launch playback

lack of Chinese Language for UI

Screenshot_20210625_124431_tv

Screenshot_20210624_190144_kantv

How to fix

pls refer to:

167946d

References

https://developer.android.google.cn/training/basics/supporting-devices/languages

HLS H264 SampleAES not support in original ijkplayer


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { HLS }

Issue Description

HLS H264 SampleAES not support in original ijkplayer

How to reproduce the issue

  1. open a H264 SampleAES encrypted HLS content

  2. launch playback

  3. following log information would be found:

    SAMPLE-AES encryption is not supported yet
    Failed to open segment 0 of playlist 0

Root cause

lack of H264 SampleAES supportive in latest FFmpeg4.4

How to fix

pls refer to:

zhouwg/FFmpeg#1

Status

HLS H264 SampleAES works fine for the first time in hijkplayer

Defect

no plan for target iOS at the moment

warmly welcome Allen Xiao to join the hijkplayer open source project


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C Java ObjectC }
Section { entire project }

Issue Description

warmly welcome Allen Xiao to join the hijkplayer open source project

Root cause

together we'll be stronger

lack of playback from last position


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

launch playback from last position for online movie

this feature is not applicable for online tv or online radio

Note with this issue

online movie will be REMOVED from KanTV apk because all online movie contains illegal advertisement currently and we should stay compliant with all the China's laws & regulations even in open source project to avoid potential compliance risk.

lack of UI during long time waiting before the first video frame was rendered


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { HLS }

Issue Description

black screen during long time waiting before the first video frame was rendered

How to reproduce the issue

  1. open online TV https://biglife.sinclair.wurl.com/manifest/3000.m3u8 ( Big Life TV - English )

  2. launch playback

long time black screen before the first video frame was rendered

Root cause

TBD

anyway, UI status should be added during long time waiting to improve APK's user experience

lack of UI during network buffering


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { HLS }

Issue Description

no UI status during network buffering

How to reproduce the issue

  1. open online TV https://biglife.sinclair.wurl.com/manifest/3000.m3u8 ( Big Life TV - English )

  2. launch playback

long time black screen when playback startup and buffering frequently

Root cause

TBD

anyway, UI status should be added during network buffering or low-bandwidth network to improve APK's user experience

UI issue during toggle from background to foreground at the first time


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

UI bug when toggle from background to foreground at the first time playback with KanTV apk

How to reproduce the issue

  1. ensure BackgroundPlay enabled( this feature was enabled default from kantv-0.0.5)
  2. open one of online TV/radio/movie
  3. launch playback
  4. toggle APK to background
  5. toggle APK to foreground

UI bug MIGHT be occurred.

this bug will be disappeared after the first time playback.

Root cause

I don't know at the moment.

lack of feature ScreenShot in KanTV apk


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

lack of feature ScreenShot in KanTV apk, it will be very useful for apk's user because "ScreenShot in Android" mightbe work improperly

can't playback online technical youtube video for learning/studying purpose


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { online youtube video }

Issue Description

can't playback online technical youtube video for learning/studying purpose

How to reproduce the issue

  1. open online technical youtube video: https://www.youtube.com/watch?v=Pzl1B7nB9Kc ( Linus Torvalds on why desktop Linux sucks) for learning/studying purpose

  2. launch playback

1858786628

Root cause

there is a powerful firewall named GFW to prevent access online youtube video from here

Compliance statement

we should stay compliant with all the China's regulations even in open-source software project, but this feature will be very useful for ICT technical learning/studying purpose.

HLS H265 China SM4 not support in original ijkplayer


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { HLS }

Issue Description

HLS H265 China SM4 encrypted content not support in original ijkplayer

How to reproduce the issue

  1. open a H265 China SM4 encrypted HLS content
  2. launch playback

Root cause

lack of H265 China SM4 supportive in latest FFmpeg4.4

How to fix

pls refer to:

https://github.com/zhouwg/hijkplayer/tree/dev-baseon-latest-k0.8.8/NEWS.md

or

#5

Defect

the workload of fix this issue is on going

and

no planning for target iOS at the moment

incorrect/invalid metadata infos in Media Information dialog during playback


Required Info
Host Operating System & Version {Ubuntu 20.04.2 }
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { UI }

Issue Description

incorrect/invalid metadata infos would be found in "Media information" dialog

How to reproduce the issue

(1) launch online tv/radio playback;
(2) click "Info" in context menu to launch "Media Information" dialog;
(3) the issue could be found at following screenshots;

Chinese UI:

1972697845

English UI:

828460205

Root Cause

some codes should be modified in Java layer

btw, I think "Media Information" dialog is a transparent dialog maybe a better idea

load online tv channels/movie lists from XML file and render/layout the XML accordingly


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {Java }
Section { HLS }

Issue Description

it's not a good manner that online tv channels/movie lists was hardcoded in the source code at the moment

How to reproduce the issue

pls refer to source code:
https://github.com/zhouwg/kantv/blob/kantv/android/ijkplayer/kantv/src/main/java/tv/danmaku/ijk/media/example/fragments/SampleMediaListFragment.java#L91-#L178

Root cause

all TV channels/movie urls should be stored in a XML file and then loaded / rendered / layout by Java source code

how to upgrade ffmpeg from ff3.4--ijk0.8.7--20180103--001 to to FFmpeg4.4


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { FFmpeg}

Issue Description

upgrade ffmpeg from ff3.4--ijk0.8.7--20180103--001 to to FFmpeg4.4(which is latest FFmpeg release)

How to upgrade

  • pls attention following files:

Only in android/contrib/ffmpeg-x86/libavutil: dns_cache.c
Only in android/contrib/ffmpeg-x86/libavutil: dns_cache.h
Only in android/contrib/ffmpeg-x86/libavformat: ijkutils.c
Only in android/contrib/ffmpeg-x86/libavutil: application.c
Only in android/contrib/ffmpeg-x86/libavutil: application.h

diff android/contrib/ffmpeg-x86/libavutil/Makefile /tmp/ffmpeg-x86/libavutil/Makefile
diff android/contrib/ffmpeg-x86/libavformat/Makefile /tmp/ffmpeg-x86/libavformat/Makefile
diff android/contrib/ffmpeg-x86/libavformat/http.c /tmp/ffmpeg-x86/libavformat/http.c
diff android/contrib/ffmpeg-x86/libavformat/tcp.c /tmp/ffmpeg-x86/libavformat/tcp.c
diff android/contrib/ffmpeg-x86/libavformat/protocols.c /tmp/ffmpeg-x86/libavformat/protocols.c

  • modify ijkmedia/ijkplayer/ijkavformat/allformats.c

comment following line in ijkmedia/ijkplayer/ijkavformat/allformats.c

IJK_REGISTER_PROTOCOL(async);

there is conflict between ijkimp_ff_async_protocol and ff_async_protocol,it will bring segment fault when memcpy(&ff_##x##_protocol, protocol, protocol_size) (which located in libavformat/ijkutils.c) was called

Defect

Android NDK r14b is required for target Android but no official technical support is provided in the future

PoC:real-time advertisement analysis during playback online tv


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { poc / ai }

PoC Description

real-time advertisement analysis during playback online tv

build failed

my build os Ubuntu20.0 ,all step i finished /build-all-native-libs.sh init can be executed successfully, but when it reaches the last step of ./build-all-native-libs.sh build, it error build libconv failed and ./configure not such file or directory found is displayed

add display URL and statistical info in playback UI


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { latest k0.8.8 }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { RTSP playback}

Issue Description

lack of essential URL and some statistical info in playback UI

Root cause

a fully telemetry module might be a better idea for this issue

How to fix

pls refer to:

https://github.com/zhouwg/hijkplayer/tree/dev-baseon-latest-k0.8.8

Defect

not working for target iOS at the moment

improve QoS of online video playback during low-quality network or network gitter or network handover


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-21.4.7075529
Xcode Version 12.5
Language {c/c++ }
Section { QoS / AI / hls / dash / rtmp }

Issue Description

improve QoS of online video/audio playback during low-quality network or network gitter or network handover

References

https://github.com/zhouwg/kantv/tree/kantv/doc/qos

https://github.com/zhouwg/kantv/tree/kantv/doc/tensorflow

m3u8 parser couldn't cover some special case


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C }
Section { HLS }

Issue Description

can't playback some HLS content

How to reproduce the issue

  1. open https://v3.dious.cc//20210416/nIYS8a98/index.m3u8

  2. launch playback

1858786628

06-18 19:59:01.731 31313 31368 D OpenGLRenderer: disableOutlineDraw is true
06-18 19:59:01.732 31313 31550 D IJKMEDIA: request: GET //20210416/nIYS8a98/index.m3u8 HTTP/1.1
06-18 19:59:01.732 31313 31550 D IJKMEDIA: User-Agent: Lavf/58.76.100
06-18 19:59:01.732 31313 31550 D IJKMEDIA: Accept: */*
06-18 19:59:01.732 31313 31550 D IJKMEDIA: Range: bytes=0-
06-18 19:59:01.732 31313 31550 D IJKMEDIA: Connection: close
06-18 19:59:01.732 31313 31550 D IJKMEDIA: Host: v3.dious.cc
06-18 19:59:01.732 31313 31550 D IJKMEDIA: Icy-MetaData: 1
06-18 19:59:01.732 31313 31550 D IJKMEDIA: 
06-18 19:59:01.732 31313 31550 D IJKMEDIA: 
06-18 19:59:01.757 31313 31550 D IJKMEDIA: Format hls probed with size=2048 and score=100
06-18 19:59:01.757 31313 31550 I IJKMEDIA: Opening 'https://20210416/nIYS8a98/1000kb/hls/index.m3u8' for reading
06-18 19:59:01.759 31313 31550 E IJKMEDIA: Failed to resolve hostname 20210416: No address associated with hostname
06-18 19:59:01.759 31313 31550 W IJKMEDIA: parse_playlist error I/O error [https://20210416/nIYS8a98/1000kb/hls/index.m3u8]
06-18 19:59:01.759 31313 31550 I IJKMEDIA: Statistics: 119 bytes read, 0 seeks
06-18 19:59:01.760 31313 31550 E IJKMEDIA: https://v3.dious.cc//20210416/nIYS8a98/index.m3u8: I/O error

Root cause

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000,RESOLUTION=1280x720
/20210416/nIYS8a98/1000kb/hls/index.m3u8?skipl=1

m3u8 parser couldn't cover above case in FFmpeg/libavformat/hls.c, actually it's because of function ff_make_absolute_url2 in FFmpeg/libavformat/url.c couldn't cover above case

How to fix

pls refer to

https://github.com/zhouwg/FFmpeg/blob/release/4.4/libavformat/url.c#L204-L235

IPR disclaimer and Compliance statement

the HLS content here was collected from internet, only used for software development purpose, and it contain some illegal advertisement according to China's law, we open the #13 to try to remove these illegal ads

PoC: playback legal online free movies


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { PoC / DASH }

PoC Description

according to issue #13, we removed all online movie list which contain illegal advertisement in commit 1035088

we found legal online movie source from ixigua.com which is one of China's Top OTT service provider.

unfortunately, two online movies from ixigua.com are both encrypted DASH content:

401291896
492916367
68694094

510089809
1214903702

we will try to "fix" it

IPR & Compliance Statement

all online tv/radio/movies in the kantv apk only used for personal learning and studying, copyright of contents belong to corresponding holder.

all PoC in the project kantv only used for purpose of learning and studying, pls stay compliant with all the China's laws & regulations,especially laws & regulations from China's SARFT(aka NRTA).

PoC:real-time ASR during playback online TV


Required Info
Host Operating System & Version {Ubuntu 20.04.2}
Kernel Version (Linux Only) (5.x)
Branch { kantv }
Android Studio Version 4.2.1
NDK Version NDK-r14b
Xcode Version 12.5
Language {C/C++/Java }
Section { PoC / TTS }

PoC Description

lack of text subtitle during playack online TV

1136596094

1544043648

2110948645

17135879

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.