You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| ffmpeg commands |:white_check_mark:| Support all FFmpeg commands |
42
+
| progress callback |:white_check_mark:| Support callback of ffmpeg commands |
43
+
| cancel commands |:white_check_mark:| Support cancel the commands that is doing |
44
+
| debug model |:white_check_mark:| Support debug model for develop |
45
+
| get media info |:white_check_mark:| Support to get media info |
46
+
| mediacodec codec |:white_check_mark:| Support MediaCodec of android gpu( since v1.3.0) |
47
+
| android architecture |:white_check_mark:| Support armeabi-v7a, arm64-v8a |
48
+
| one so |:white_check_mark:| Merge multiple so into one `ffmpeg-or.so`|
49
+
50
+
The general functions are as follows:
51
+
* Support all FFmpeg commands
52
+
* Support video format conversion : mp4->flv
53
+
* Support audio codec : mp3->pcm pcm->mp3 pcm->aac
54
+
* Support audio transcoding : mp3->aac mp3->amr
55
+
* Support video codec : mp4->yuv yuv->h264
56
+
* Support video transcoding : mp4->flv mp4->avi
57
+
* Support cutting and splicing of audio and video
58
+
* Support video to picture : mp4->png mp4->gif
59
+
* Support audio sound size control and mixing (such as reading sound plus background music)
60
+
* Support some filters, audio fade in, fade out effects, video brightness and contrast, and add watermark
61
+
* Support for generating silent audio
61
62
62
63
|Run FFmpeg|Get media information|
63
64
|---------| ----------------------------------|
@@ -158,26 +159,33 @@ var progress = pts/duration!!
158
159
### Custom FFmpeg command
159
160
160
161
This is just a demonstration of audio cutting, many functions such as the above, please refer to it yourself [FFmpegUtils](ffmpeg/src/main/java/com/coder/ffmpeg/utils/FFmpegUtils.java)
161
-
If the requirements are not met, you can add your own FFmpeg command, E.g:
162
+
If the requirements are not met, you can add your own FFmpeg command, The following is an example of customizing conversion using `MediaCodec`:
* When using `MediaCodec` for encoding, `MediaCodec` decoding must be configured at the same time, as shown in the above example, otherwise it will cause failure! ! !
182
+
* The H264 codec is `h264_mediacodec`, and the H265 codec is `hevc_mediacodec`. H264 decoding and H265 encoding can be used at the same time.
183
+
* Hard coding generally requires setting the bitrate of the video, otherwise the picture will be blurry and unclear.
184
+
* It is best to use `CommandParams` to construct our command parameters. This can ensure that the parameters are not affected by spaces in the path, causing the command execution to fail. We can also construct our parameters as follows
185
+
186
+
```kotlin
187
+
val command = arrayOf("ffmpeg","-y","-i",inputPath,outputPath)
188
+
```
181
189
182
190
### Multi-process execution
183
191
Since the bottom layer is temporarily unable to implement multithreading (after all, C is a process-oriented language), if you need to push the stream at the same time, it is impossible to execute other commands at the same time.
0 commit comments