视频上传至服务器后显示为音频

视频上传至服务器后显示为音频

我录制了一个视频(Ocam,Windows10)并进行了测试。

它运行正常,但当我上传它时,它只在服务器上显示一个音频文件。当我使用 Windows Movie Maker 转换它时,它运行正常。以下是两个文件,用于非常短的 2 秒示例。

以下是文件链接:

转换前 - 仅音频,下载后为视频https://neurodermitis-gesund.de/test/test.mp4

转换后https://neurodermitis-gesund.de/test/test_converted.mp4

我感兴趣的是为什么这在转换后有效而不是之前有效,因为两个文件的视频格式每秒帧数等都是相同的。

我已经在网站管理员上问过这个问题,他们关闭了它并建议我在 SuperUsers 上问

答案1

我感兴趣的是为什么这在转换后有效而不是之前有效,因为两个文件的视频格式每秒帧数等都是相同的。

记住这一点很重要.mp4是用于不同数据流集(视频和音频)的容器格式并且这些流不能保证在所有软件,服务或设备上运行(即,无论是什么解释该文件都可能无法完全理解它)。

扩展我原来的评论,原始 O​​cam 录制和转换后的录制之间的编解码器/音频格式不同。您可以使用以下工具查看此信息:ffprobe(例如Windows 版本ffmpeg)。撇开一些细微的差别,这两个视频显然使用了不同的视频和音频流:

  • 测试.mp4

    Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D)
    Audio: mp3 (mp4a / 0x6134706D)
    
  • 测试_转换.mp4

    Video: h264 (High) (avc1 / 0x31637661)
    Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz
    

它运行良好,但是当我上传它时,它只在服务器上显示一个音频文件。

在个人测试中,Android 10(基于 *nix)设备能够播放音频(.mp3)流(但不能播放视频流)test.mp4。但是,Windows 10 可以完美播放这两个文件。

猜测一下,如果服务器是基于 *nix 的,那么服务器可能能够读取.mp3音频流test.mp4但不能读取视频流,这似乎是合理的。因此它将其视为可以读取的部分(即音频文件)。

相关内容