7528eb2bd9
- Fix testCheckAudioStreams test of YoutubeStreamExtractorDefaultTest.AudioTrackLanguage test class, by updating the excepted audio track name test to use the updated English audio track name (audio track type info has been added on the video tested); - Fix YoutubeStreamExtractorDefaultTest.PublicBroadcasterTest test class by using a different video from a French and German public broadcast channel, as the channel Dinge Erklärt – Kurzgesagt is not affiliated with a public broadcast channel anymore; - Fix YoutubeStreamExtractorLivestreamTest test class, by updating the excepted name of the livestream to the current one. |
||
---|---|---|
.github | ||
checkstyle | ||
extractor | ||
gradle/wrapper | ||
timeago-parser | ||
.gitignore | ||
LICENSE | ||
README.md | ||
build.gradle | ||
gradlew | ||
gradlew.bat | ||
jitpack.yml | ||
settings.gradle |
README.md
NewPipe Extractor
NewPipe Extractor is a library for extracting things from streaming sites. It is a core component of NewPipe, but could be used independently.
Usage
NewPipe Extractor is available at JitPack's Maven repo.
If you're using Gradle, you could add NewPipe Extractor as a dependency with the following steps:
- Add
maven { url 'https://jitpack.io' }
to therepositories
in yourbuild.gradle
. - Add
implementation 'com.github.TeamNewPipe:NewPipeExtractor:INSERT_VERSION_HERE'
to thedependencies
in yourbuild.gradle
. ReplaceINSERT_VERSION_HERE
with the latest release. - If you are using tools to minimize your project, make sure to keep the files below, by e.g. adding the following lines to your proguard file:
## Rules for NewPipeExtractor
-keep class org.schabi.newpipe.extractor.timeago.patterns.** { *; }
-keep class org.mozilla.javascript.** { *; }
-keep class org.mozilla.classfile.ClassFileWriter
-dontwarn org.mozilla.javascript.tools.**
Note: To use NewPipe Extractor in Android projects with a minSdk
below 26, API desugaring is required. If the minSdk
is below 19, the desugar_jdk_libs_nio
artifact is required, which requires Android Gradle Plugin (AGP) version 7.4.0.
Testing changes
To test changes quickly you can build the library locally. A good approach would be to add something like the following to your settings.gradle
:
includeBuild('../NewPipeExtractor') {
dependencySubstitution {
substitute module('com.github.TeamNewPipe:NewPipeExtractor') with project(':extractor')
}
}
Another approach would be to use the local Maven repository, here's a gist of how to use it:
- Add
mavenLocal()
in your projectrepositories
list (usually as the first entry to give priority above the others). - It's recommended that you change the
version
of this library (e.g.LOCAL_SNAPSHOT
). - Run gradle's
ìnstall
task to deploy this library to your local repository (using the wrapper, present in the root of this project:./gradlew install
) - Change the dependency version used in your project to match the one you chose in step 2 (
implementation 'com.github.TeamNewPipe:NewPipeExtractor:LOCAL_SNAPSHOT'
)
Tip for Android Studio users: After you make changes and run the
install
task, use the menu optionFile → "Sync with File System"
to refresh the library in your project.
Supported sites
The following sites are currently supported:
- YouTube
- SoundCloud
- media.ccc.de
- PeerTube (no P2P)
- Bandcamp
License
NewPipe Extractor is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.