使用 ffmpeg 调整 LaTeX 视频没有产生预期的结果

使用 ffmpeg 调整 LaTeX 视频没有产生预期的结果

几个星期以来,我一直在尝试根据示例在我的 Latex/Beamer 演示文稿中嵌入一些视频(使用 python-Matplotlib 创建)像这个,它使用名为的包media9。文档编译没有显示任何错误,但它仍然不起作用。

基本上,它使用 PDF 中的 Flash 播放器来播放内容,因此,它播放的视频非常有限(在支持的编解码器、扩展等方面)。如果我按照文档操作并将我拥有的旧视频转换为正确的规格,那么它就可以正常工作。但是,我无法让它适用于我目前正在制作的视频,我也不知道是什么导致了这种差异。

根据文档

Flash Player 支持高效的 H.264 视频压缩编解码器。可以使用 ffmpeg (http://ffmpeg.org) 或 avconv (http://libav.org.) 命令行工具。为了能够在视频文件中进行精确搜索,必须使用足够数量的关键帧对它们进行编码。将现有视频文件 video.avi 重新编码为 video.mp4 的命令行为

ffmpeg -i video.avi -vf scale="trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -profile:v high -pix_fmt yuv420p -g 30 -r 30 video.mp4

我尝试过的事情:

ffmpeg我已尝试使用正确的特性(-pix_fmt yuv420p -g 30 -r 30codec=libx264和扩展名)从 Matplotlib 创建视频.mp4。但这没有用。

其次,我尝试使用不同的编码和扩展名创建视频,然后使用上面的代码(由软件包的作者提供)来转换它们。但这也不起作用。

此时我不知道还能做什么。据我所知,我遵循了文档中提出的所有必要要点,但显然事实并非如此,我不明白缺少了什么。

ffmpeg -i下面是使用上述命令后我拍摄的一个旧视频的示例:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'convB_C250_txy0.mp4.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:00:20.83, start: 0.000000, bitrate: 11867 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1080x840, 11864 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler

现在来看看我最近制作的一个视频示例,它通过了相同的命令,但不起作用:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'convC1_old.mp4.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:00:04.13, start: 0.000000, bitrate: 226 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1080x840, 222 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler

我发现两者唯一的区别是比特率,这应该没什么区别。但即便如此,我还是无法将新视频的比特率与旧视频的比特率相匹配。

这里我遗漏了什么吗?

相关内容