Android:在导出FFmpeg视频之前显示快速预览(实时)

时间:2019-02-06 08:56:42

标签: android video ffmpeg video-streaming

基本上,我正在开发一个视频编辑应用程序,使用户可以选择一些图像并创建带有音乐的视频幻灯片。

我正在使用 FFMPEG 从图像生成视频幻灯片放映,但是问题是我只能在执行 FFMPEG 命令后才能显示视频的预览。

在Google上搜索了如此多的博客,而我知道有一种可能的方式来显示输出预览。

从参考应用程序中检查下面的图像。我正在开发与此应用类似的东西。可以选择替换视频中的图像。更改图像后,此应用将显示即时预览。

enter image description here

如果有人要检查,这里是reference app的链接:

单击“导出”按钮,此应用可让您生成视频输出。我可以做到这一点,因为我知道 FFMPEG 以及如何使用 FFMPEG 生成输出文件,但我不知道的是如何显示输出视频的快速预览在生成实际的视频文件之前。

在我的UBUNTU设备上,我可以使用 FFPLAY 工具查看 FFMPEG 命令的输出,但是如何在android设备上执行同样的操作。

一些有用的链接: http://androidwarzone.blogspot.com/2011/12/ffmpeg4android.html

5 个答案:

答案 0 :(得分:2)

我安装了参考应用程序,看起来它们在显示预览时实际上并没有导出视频。

拍摄图像后,他们将其分为16个部分,对图像进行动画处理并同时播放音频

,当您单击导出时,他们实际上是在保存视频。

检查此lib以获取图像动画:https://github.com/flavioarfaria/KenBurnsView

或这一个:https://github.com/florent37/ViewAnimator

答案 1 :(得分:1)

您可以使用 ffplay 来显示它示例:-

ffplay test.mp4 -af "volume=8.0,atempo=4.0" -vf "transpose=2,transpose=2,setpts=1/4*PTS,scale=640*480" -aspect 4:2

答案 2 :(得分:0)

您必须使用ffplay。

教程:https://www.youtube.com/watch?v=W5ALCIxKZIE

示例: ffplay -f mpegts -ast 1 -vst 0 -ar 48000 udp://192.168.0.114:8090

详细文章如何通过Andriod处理Android Multi Video: http://androidwarzone.blogspot.com/2011/12/ffmpeg4android.html

要在8090端口上链接视频播放器,可以在播放时显示它并在其上暂停结果。

答案 3 :(得分:0)

我认为您可以按照以下方式进行操作:

  • 选择图像
  • 检查是否有2张或更多图片?
  • 如果图像多于2个,则在不干扰用户的情况下在后台导出特定视频(在恒定路径上,每个视频都是用户)
  • 显示为预览,如果用户被卡住,请给ProgressBar

建议提供更多用户体验:选中复选框选项显示即时预览

注意:您也可以将这类工作放到Fiverr或其他自由职业网站上。

谢谢。

答案 4 :(得分:0)

1

我阅读了所有评论,然后找到了ffmpeg命令,该命令输入了2到3张图像,并为MV Master应用程序使用了一个alpha rgb视频效果我已经使用ffmpeg文档制作了ffmpeg命令,并把它放出来了就像MV Master App一样。仔细检查下面的内容,如果您需要,请告诉我,如果您需要的话,它将共享代码

https://www25.zippyshare.com/v/JCMwOZnB/file.html

https://www111.zippyshare.com/v/LQzuZtPe/file.html

实际上,您从MV Master应用程序获得的视频是RGB + ALPHA Video,用于创建MV视频效果。您将两个视频合为一个视频。两个视频均为黑色,因此,使用ffmpeg时,我们必须将黑色代码传递给ffmpeg命令。 ffmpeg将使用黑色作为透明区域,然后我们必须将该视频覆盖到图像上