Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ffmpeg:Android上一些播放器的视频持续时间混乱_Android_Flutter_Video_Ffmpeg_Android Videoview - Fatal编程技术网

ffmpeg:Android上一些播放器的视频持续时间混乱

ffmpeg:Android上一些播放器的视频持续时间混乱,android,flutter,video,ffmpeg,android-videoview,Android,Flutter,Video,Ffmpeg,Android Videoview,我正在使用ffmpeg缩小和压缩视频,以便在Android应用程序中使用。 播放原始文件时没有问题,也没有元数据问题。然而,当我重新编码它们时,Android播放器能够播放它们,但显示的持续时间错误。我的应用程序正在生产中,它正在使用官方的播放器实现,因此我想知道是否有办法使用ffmpeg或向生成的文件添加一些元数据来修复损坏。希望这是可能的,但如果不是,我们将非常感谢任何其他可能的修复:) 我的ffmpeg命令很复杂,包括缩放和编码,但我可以用最简单的ffmpeg-I video.mp4-c:

我正在使用ffmpeg缩小和压缩视频,以便在Android应用程序中使用。 播放原始文件时没有问题,也没有元数据问题。然而,当我重新编码它们时,Android播放器能够播放它们,但显示的持续时间错误。我的应用程序正在生产中,它正在使用官方的播放器实现,因此我想知道是否有办法使用ffmpeg或向生成的文件添加一些元数据来修复损坏。希望这是可能的,但如果不是,我们将非常感谢任何其他可能的修复:)

我的ffmpeg命令很复杂,包括缩放和编码,但我可以用最简单的
ffmpeg-I video.mp4-c:v libx264 videogen.mp4
命令确认这个问题在我这方面是可以重现的

如果有助于参考的话,我会留下两个文件的链接

你知道是什么原因造成的吗?如何解决

玩家问题展示: video.mp4(原件)

videogen.mp4(重新编码)

经过一些测试,我发现播放器正在播放具有以下元数据的优秀文件:

major_brand=mp42
encoder=Lavf58.24.101
因此,我使用ffmpeg
-movflags使用_metadata_标记
来设置工作元数据:)