Skip to content

Commit cf36d41

Browse files
Revert "Migrate from flutter_ffmpeg to ffmpeg-kit"
This reverts commit 4b0caa7.
1 parent af6dd5e commit cf36d41

8 files changed

Lines changed: 52 additions & 39 deletions

File tree

yuuna/android/build.gradle

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ buildscript {
44
google()
55
mavenCentral()
66
maven { url "https://jitpack.io" }
7+
maven { url 'https://maven.aliyun.com/repository/public' }
8+
maven { url 'https://maven.aliyun.com/repository/central' }
9+
maven { url 'https://maven.aliyun.com/repository/google' }
10+
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
11+
maven { url 'https://maven.aliyun.com/repository/apache-snapshots' }
712
}
813

914
dependencies {
@@ -17,6 +22,11 @@ allprojects {
1722
google()
1823
mavenCentral()
1924
maven { url "https://jitpack.io" }
25+
maven { url 'https://maven.aliyun.com/repository/public' }
26+
maven { url 'https://maven.aliyun.com/repository/central' }
27+
maven { url 'https://maven.aliyun.com/repository/google' }
28+
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
29+
maven { url 'https://maven.aliyun.com/repository/apache-snapshots' }
2030
}
2131
}
2232

@@ -31,3 +41,7 @@ subprojects {
3141
tasks.register("clean", Delete) {
3242
delete rootProject.buildDir
3343
}
44+
45+
ext {
46+
flutterFFmpegPackage = "full-gpl-lts"
47+
}

yuuna/lib/src/media/source_types/player_media_source.dart

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import 'dart:async';
22
import 'dart:io';
33

4-
import 'package:ffmpeg_kit_https_flutter/ffmpeg_kit.dart';
5-
import 'package:ffmpeg_kit_https_flutter/ffmpeg_session.dart';
64
import 'package:flutter/material.dart';
75
import 'package:flutter/services.dart';
6+
import 'package:flutter_ffmpeg/flutter_ffmpeg.dart';
87
import 'package:flutter_riverpod/flutter_riverpod.dart';
98
import 'package:flutter_vlc_player/flutter_vlc_player.dart';
109
import 'package:fluttertoast/fluttertoast.dart';
@@ -171,8 +170,10 @@ abstract class PlayerMediaSource extends MediaSource {
171170
String command =
172171
'-ss $timestamp -y -i "$inputPath" -frames:v 1 -q:v 2 "$outputPath"';
173172

174-
FFmpegSession session = await FFmpegKit.execute(command);
175-
String output = await session.getOutput() ?? '';
173+
final FlutterFFmpeg flutterFFmpeg = FlutterFFmpeg();
174+
await flutterFFmpeg.execute(command);
175+
176+
String output = await FlutterFFmpegConfig().getLastCommandOutput();
176177

177178
if (!output.contains('Output file is empty, nothing was encoded')) {
178179
while (!imageFile.existsSync()) {
@@ -263,8 +264,8 @@ abstract class PlayerMediaSource extends MediaSource {
263264
String command =
264265
'-ss $timeStart -to $timeEnd -y -i "$inputPath" -map 0:a:$audioIndex "$outputPath"';
265266

266-
await FFmpegKit.execute(command);
267-
debugPrint(inputPath, wrapWidth: 10000);
267+
final FlutterFFmpeg flutterFFmpeg = FlutterFFmpeg();
268+
await flutterFFmpeg.execute(command);
268269

269270
return audioFile;
270271
}

yuuna/lib/src/media/sources/player_local_media_source.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ import 'dart:async';
22
import 'dart:io';
33

44
import 'package:collection/collection.dart';
5-
import 'package:ffmpeg_kit_https_flutter/ffmpeg_kit.dart';
65
import 'package:flutter/material.dart';
7-
import 'package:ffmpeg_kit_https_flutter/ffmpeg_session.dart';
6+
import 'package:flutter_ffmpeg/flutter_ffmpeg.dart';
87
import 'package:flutter_riverpod/flutter_riverpod.dart';
98
import 'package:flutter_vlc_player/flutter_vlc_player.dart';
109
import 'package:material_floating_search_bar/material_floating_search_bar.dart';
@@ -100,20 +99,21 @@ class PlayerLocalMediaSource extends PlayerMediaSource {
10099
Future<void> generateThumbnail(String inputPath, String targetPath) async {
101100
String timestamp =
102101
JidoujishoTimeFormat.getFfmpegTimestamp(const Duration(seconds: 30));
102+
final FlutterFFmpeg flutterFFmpeg = FlutterFFmpeg();
103103

104104
String command =
105105
'-ss $timestamp -y -i "$inputPath" -frames:v 1 -q:v 2 "$targetPath"';
106106

107-
FFmpegSession session = await FFmpegKit.execute(command);
108-
String output = await session.getOutput() ?? '';
107+
await flutterFFmpeg.execute(command);
108+
String output = await FlutterFFmpegConfig().getLastCommandOutput();
109109

110110
if (output.contains('Output file is empty, nothing was encoded')) {
111111
String timestamp =
112112
JidoujishoTimeFormat.getFfmpegTimestamp(const Duration(seconds: 1));
113113

114114
String command =
115115
'-ss $timestamp -y -i "$inputPath" -frames:v 1 -q:v 2 "$targetPath"';
116-
await FFmpegKit.execute(command);
116+
await flutterFFmpeg.execute(command);
117117
}
118118
}
119119

yuuna/lib/src/models/app_model.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ class AppModel with ChangeNotifier {
346346
List<DictionarySearchResult> get dictionaryHistory =>
347347
_database.dictionarySearchResults
348348
.getAllSync(_dictionaryHistory.values.toList())
349-
.whereNotNull()
349+
.nonNulls
350350
.toList();
351351

352352
/// For watching the dictionary history collection.
@@ -1040,7 +1040,8 @@ class AppModel with ChangeNotifier {
10401040

10411041
List<BrowserBookmark> defaultBookmarks = [
10421042
BrowserBookmark(
1043-
name: 'jidoujisho', url: 'https://github.com/arianneorpilla/jidoujisho'),
1043+
name: 'jidoujisho',
1044+
url: 'https://github.com/arianneorpilla/jidoujisho'),
10441045
BrowserBookmark(name: 'Google', url: 'https://google.com/'),
10451046
BrowserBookmark(name: 'DuckDuckGo', url: 'https://duckduckgo.com/'),
10461047
BrowserBookmark(name: 'Wikipedia', url: 'https://wikipedia.org/'),

yuuna/lib/src/pages/implementations/dictionary_history_page.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import 'package:collection/collection.dart';
21
import 'package:expandable/expandable.dart';
32
import 'package:flutter/material.dart';
43
import 'package:spaces/spaces.dart';
@@ -112,7 +111,7 @@ class _DictionaryHistoryScrollableItemState
112111
);
113112

114113
List<DictionaryHeading> headings =
115-
result.headingIds.map((id) => headingsById[id]).whereNotNull().toList();
114+
result.headingIds.map((id) => headingsById[id]).nonNulls.toList();
116115

117116
List<Dictionary> dictionaries = appModel.dictionaries;
118117
Map<String, bool> dictionaryNamesByHidden = Map<String, bool>.fromEntries(

yuuna/lib/src/utils/player/subtitle_utils.dart

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import 'dart:io';
22

3-
import 'package:ffmpeg_kit_https_flutter/ffmpeg_kit.dart';
4-
import 'package:ffmpeg_kit_https_flutter/ffmpeg_session.dart';
3+
import 'package:flutter_ffmpeg/flutter_ffmpeg.dart';
54
import 'package:path_provider/path_provider.dart';
65
import 'package:subtitle/subtitle.dart';
76
import 'package:path/path.dart' as path;
@@ -140,7 +139,9 @@ class SubtitleUtils {
140139
outputFile.deleteSync();
141140
}
142141

143-
await FFmpegKit.execute(command);
142+
final FlutterFFmpeg flutterFFmpeg = FlutterFFmpeg();
143+
144+
await flutterFFmpeg.execute(command);
144145

145146
await Future.delayed(const Duration(seconds: 1));
146147

@@ -184,8 +185,11 @@ class SubtitleUtils {
184185
outputFile.deleteSync();
185186
}
186187

187-
FFmpegSession session = await FFmpegKit.execute(command);
188-
String output = await session.getOutput() ?? '';
188+
final FlutterFFmpeg flutterFFmpeg = FlutterFFmpeg();
189+
final FlutterFFmpegConfig flutterFFmpegConfig = FlutterFFmpegConfig();
190+
191+
await flutterFFmpeg.execute(command);
192+
String output = await flutterFFmpegConfig.getLastCommandOutput();
189193
if (output.contains("Stream map '0:s:$i' matches no streams.")) {
190194
break;
191195
}
@@ -223,7 +227,9 @@ class SubtitleUtils {
223227

224228
String command = '-i "$inputPath" "$outputPath"';
225229

226-
await FFmpegKit.execute(command);
230+
final FlutterFFmpeg flutterFFmpeg = FlutterFFmpeg();
231+
232+
await flutterFFmpeg.execute(command);
227233

228234
return targetFile.readAsStringSync();
229235
}

yuuna/pubspec.lock

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -498,22 +498,6 @@ packages:
498498
url: "https://pub.dev"
499499
source: hosted
500500
version: "2.0.2"
501-
ffmpeg_kit_flutter_platform_interface:
502-
dependency: transitive
503-
description:
504-
name: ffmpeg_kit_flutter_platform_interface
505-
sha256: addf046ae44e190ad0101b2fde2ad909a3cd08a2a109f6106d2f7048b7abedee
506-
url: "https://pub.dev"
507-
source: hosted
508-
version: "0.2.1"
509-
ffmpeg_kit_https_flutter:
510-
dependency: "direct main"
511-
description:
512-
name: ffmpeg_kit_https_flutter
513-
sha256: "89830fc1ea0d383276888fc084497e29a213e4d9ec498ee3be6943640bc71617"
514-
url: "https://pub.dev"
515-
source: hosted
516-
version: "1.1.0"
517501
file:
518502
dependency: transitive
519503
description:
@@ -632,6 +616,14 @@ packages:
632616
url: "https://pub.dev"
633617
source: hosted
634618
version: "1.1.2"
619+
flutter_ffmpeg:
620+
dependency: "direct main"
621+
description:
622+
name: flutter_ffmpeg
623+
sha256: "8d8bb4551cf76384748ba6948739c1e56a9164794e48f06cbfb0ff1bfb058b5f"
624+
url: "https://pub.dev"
625+
source: hosted
626+
version: "0.4.2"
635627
flutter_gpt_tokenizer:
636628
dependency: "direct main"
637629
description:
@@ -2055,5 +2047,5 @@ packages:
20552047
source: git
20562048
version: "2.5.2"
20572049
sdks:
2058-
dart: ">=3.1.0 <4.0.0"
2050+
dart: ">=3.1.0-185.0.dev <4.0.0"
20592051
flutter: ">=3.13.5"

yuuna/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ dependencies:
3333
external_app_launcher: ^3.1.0
3434
external_path: ^1.0.1
3535
favicon: ^1.1.1
36-
ffmpeg_kit_https_flutter: ^1.1.0
3736
file_picker: ^5.3.0
3837
filesystem_picker:
3938
git:
@@ -48,6 +47,7 @@ dependencies:
4847
flutter_charset_detector: ^1.0.2
4948
flutter_colorpicker: ^1.0.3
5049
flutter_exit_app: ^1.0.5
50+
flutter_ffmpeg: ^0.4.2
5151
flutter_gpt_tokenizer: ^0.1.0
5252
flutter_html: ^3.0.0-beta.2
5353
flutter_html_table: ^3.0.0-beta.2

0 commit comments

Comments
 (0)