【问题标题】:different results in different environments (AWS Lambda vs Local) using the same ffmpeg command使用相同的 ffmpeg 命令在不同环境(AWS Lambda 与本地)中的不同结果
【发布时间】:2017-08-10 19:46:54
【问题描述】:

我的智慧在这里结束了。所以我有一个 AWS lambda,它只是一些在视频文件上运行 ffmpeg 命令的 Java 代码。当我下载这个视频文件并对其进行 ffprobe 时,元数据看起来与我抓取同一个文件并从命令行在本地运行相同的 ffmpeg 命令时的样子不同。我不知道为什么会这样。我确保具有相同的 ffmpeg 版本和所有版本,但是与另一个文件相比,运行该命令的 lambda 生成的文件缺少一些东西。我在看这个的原因是这个由运行命令的 lambda 产生的文件不能在某些播放器上播放(例如,android exoplayer 和 android/mobile 版本的 Chrome 有问题),而这个文件是由运行命令的我在我尝试过的任何地方都可以播放。以下是不同的元数据:

在本地运行:

Metadata:
  service_name    : Service01
  service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 95 kb/s

vs 由 lambda 运行:

Metadata:
  service_name    : Service01
  service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 95 kb/s

如您所见,分辨率旁边明确说明了 DAR 和 SAR,并且在 yuv420p 旁边的括号中的渐进式旁边还有“tv”。我尝试通过添加更多过滤器和标志来调整命令,但最终结果是相同的......我不确定这会解决我的可玩性问题,但有人可以解释为什么尽管使用相同的最终结果会有所不同ffmpeg 和所有版本(都是 64 位)?

【问题讨论】:

  • 显示命令和完整的控制台输出。
  • 看起来你在命令中省略了配置文件级别并让 ffmpeg 弄清楚,尝试在这两种情况下强制它成为基线。

标签: java android video lambda ffmpeg


【解决方案1】:

android 无法播放视频的问题最终与此无关。只是因为生成的文件的扩展名都是大写的,android并没有真正识别出来。

【讨论】:

    猜你喜欢
    • 2015-07-20
    • 1970-01-01
    • 2021-05-25
    • 2018-04-23
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 2015-04-23
    相关资源
    最近更新 更多