Czy można programowo przekonwertować nagrany plik wideo na GIF w systemie Android? Czy możesz mi pomóc przy pomocy jakiegoś wykorzenionego kodu lub powiedzieć, jak to zrobić?Jak przekonwertować wideo na gif w Androidzie programowo
6
A
Odpowiedz
6
importu
ffmpeg
w swoim projekcie chwyć porcję lub cały film i przekonwertuj go na gif.lub
Zastosowanie
MediaRetriever
wyodrębnić zakres klatek z prostą pętlę w całym zakresie, a następnie konwersję do rozciągliwej lub bitmapy, dzięki czemu można go zapisać.lub
chwycić klatek podczas odtwarzania wideo z
SurfaceViewHolder
lubSurfaceView
płótnie.
9
Moja rada byłoby użyć MediaMetadataRetriever i nazywają getFrameAtTime()
metody pobierania klatek, które chcesz wyodrębnić:
// Get your video file
File myVideo = new File
(Environment.getExternalStorageDirectory().getAbsolutePath(),
"YOUR_FILE.mp4");
// URI to your video file
Uri myVideoUri = Uri.parse(myVideo.toString());
// MediaMetadataRetriever instance
MediaMetadataRetriever mmRetriever = new MediaMetadataRetriever();
mmRetriever.setDataSource(myVideo.getAbsolutePath());
// Array list to hold your frames
ArrayList<Bitmap> frames = new ArrayList<Bitmap>();
//Create a new Media Player
MediaPlayer mp = MediaPlayer.create(getBaseContext(), myVideoUri);
// Some kind of iteration to retrieve the frames and add it to Array list
Bitmap bitmap = mmRetriever.getFrameAtTime(TIME IN MICROSECONDS);
frames.add(bitmap);
a następnie utworzyć Drawable Animation programowo:
AnimationDrawable animatedGIF = new AnimationDrawable();
animationDrawable.addFrame("FIRST FRAME", 50);
animationDrawable.addFrame("SECOND FRAME", 50);
...
animationDrawable.addFrame("LAST FRAME ", 50);
Powiązane problemy
- 1. jak przekonwertować obrazy na wideo w Androidzie za pomocą javacv?
- 2. Program do strumienia wideo MPEG-4 programowo na Androidzie
- 3. Usługa konwersji wideo na GIF za pośrednictwem api
- 4. iOS: jak przekonwertować wideo PHAsset na NSData
- 5. Jak przekonwertować wideo na dane base64
- 6. Jak przekonwertować mapy bitowe na wideo?
- 7. Programowo kliknij powiadomienie na Androidzie
- 8. Jak grać w gif w Androidzie z adresu URL?
- 9. ImageMagick przekonwertować gif z problemem przejrzystości
- 10. Wideo wideo na Androidzie nie ładuje się, dopóki wideo.play()
- 11. Wykryj orientację nagranego wideo w Androidzie
- 12. Robienie zdjęć podczas nagrywania wideo na Androidzie
- 13. Wyodrębnij metadane z plików wideo na Androidzie
- 14. Zmienna szybkość odtwarzania wideo na Androidzie
- 15. Jak przekonwertować dokumenty biurowe na html w Androidzie
- 16. Jak programowo ustawić styl na pasku postępu na Androidzie
- 17. Jak włączyć/wyłączyć bluetooth programowo w Androidzie
- 18. Jak odrzucić połączenie programowo w Androidzie
- 19. W Androidzie, jak mogę programowo wyłączyć ekran?
- 20. jak programowo wyłączyć korekcję pisowni w Androidzie
- 21. Jak ustawić głośność na maksimum programowo na Androidzie?
- 22. jak zmniejszyć rozmiar wideo przed załadowaniem do serwera programowo w Androidzie
- 23. Mikser audio w Androidzie programowo
- 24. Programowo edytuj właściwości pliku build.prop na Androidzie
- 25. Dodaj audio do wideo w Androidzie
- 26. Odtwarzanie wideo w zwolnionym tempie w Androidzie
- 27. Jak programowo sprawdzić, czy obraz GIF jest animowany?
- 28. Tworzenie widoków programowo za pomocą XML na Androidzie
- 29. Strumieniowanie wideo w Androidzie przez parsfileDescriptor
- 30. Jak programowo przekonwertować plik Keynote na program PowerPoint?
Czy możesz mi powiedzieć, jak uzyskać wszystkie ramki. jaka będzie pętla dla niego.http: //stackoverflow.com/questions/22684347/extract-all-video-frames-in-android możesz odpowiedzieć na to pytanie. –
mmRetriever.setDataSource (myVideo.getAbsolutePath()); zawsze się zawiesza –
Dlaczego tworzysz nowy MediaPlayer? Czy to konieczne? –