当前位置: 首页 > 知识库问答 >
问题:

ffmpeg对同一文件中的一个输入视频流和多个输出视频流进行转码

索嘉石
2023-03-14

我试图转码一个单一的视频文件与1个视频流和几个音频流到文件具有相同的视频流在不同的比特率/大小与正确的填充在同一时间。

我使用的命令是:

    ffmpeg -y -ss 600 -t 600 -i "INPUT.mkv" -map_chapters -1 -map 0:0 -c:v libx264 -keyint_min 48 -g 96 -bufsize 350k -b:v 350k -minrate 300k -maxrate 400k -profile:v baseline -level 3.0 -preset slow -vf "scale=iw*min(480/iw\,272/ih):ih*min(480/iw\,272/ih),pad=480:272:(480-iw)/2:(272-ih)/2" -map 0:0 -c:v libx264 -keyint_min 48 -g 96 -bufsize 650k -b:v 650k -minrate 500k -maxrate 800k -profile:v baseline -level 3.1 -preset slow -vf "scale=iw*min(640/iw\,360/ih):ih*min(640/iw\,360/ih),pad=640:360:(640-iw)/2:(360-ih)/2" -map 0:1 -c:a libfaac -b:a 32k -ar 44100 -f mpegts OUTPUT.m2ts
    Output #0, mpegts, to 'OUTPUT.m2ts':
    Stream #0:0(eng): Video: h264, yuv420p, 640x360 [SAR 559:560 DAR 559:315], q=-1--1, 650 kb/s,     Stream #0:1(eng): Video: h264, yuv420p, 640x360 [SAR 559:560 DAR 559:315], q=-1--1, 650 kb/s, 90k tbn, 23.98 tbc (default)
    Stream #0:2(rus): Audio: aac, 44100 Hz, 5.1, s16, 32 kb/s (default)
    Stream mapping:
    Stream #0:0 -> #0:0 (h264 -> libx264)
    Stream #0:0 -> #0:1 (h264 -> libx264)
    Stream #0:1 -> #0:2 (aac -> libfaac)
    Press [q] to stop, [?] for help

实际上,对同一个文件进行几个比特率的代码转换是可能的吗?

共有1个答案

申屠飞
2023-03-14

您映射的是输入,而不是输出。尝试如下指定输出比特率:-b:v:0350k-b:v:1650k。另外,其他流和变量,如编解码器,也可以这样定义。有关更多信息和示例,请参见FFmpeg map wiki。

 类似资料:
  • 使用FFmpeg,我试图对一个输入视频进行一些过滤操作,以缩放它(out1),缩放和修剪它(out2)。这是我正在使用的命令: 有人能给我个提示吗? --编辑--这是第一个ffmpeg命令的输出:

  • 我正在使用ffmpeg将视频按帧分割。对于25fps的视频,我的期望是,它将显示0帧40毫秒,然后显示1帧40毫秒,等等。然而,当我使用ffmepg分析视频时,这不是我得到的结果。 我使用以下命令从视频中提取帧: 在这种情况下,我希望和是相同的帧,但是生成的pngs是不同的。然而,另一方面,和是相同的帧,而和是不同的帧。似乎的帧只显示1ms。我在多个不同的视频上测试过这个,结果一致。有人能解释为什

  • 我正在尝试使用FFMPEG合并2个mp4文件。其中一个文件同时具有视频和音频(),而另一个只有音频()。这些文件的名称以以下方式列在名为的文本文件中: 然后执行下面的ffmpeg命令来合并它们。 但是,生成的连接文件只包含。也就是说,如果

  • 问题内容: 是否有使用Java直播视频的良好库?理想情况下,管道的两端都应使用Java编写,但我最关心的是视频播放器。您会推荐什么软件? 更新 :似乎VLC引入了1-2秒的延迟。我需要真正的实时视频流。记录到播放的延迟必须小于300ms。 问题答案: 我见过的最好的视频播放/编码库是ffmpeg。它播放您扔给它的所有内容。(它是MPlayer使用的。)它是用C编写的,但是我发现了一些Java包装器

  • 问题内容: 我正在做一个使用HTML和Javascript的项目,它将与本地文件一起在本地运行。我需要通过输入选择一个文件,获取文件信息,然后决定是否将其添加到列表中并进行复制。如果我决定使用它,则必须将其放在队列中以备后用。否则,我将丢弃并选择另一个文件。 我面临的问题是我无法找到一种仅通过在输入中选择视频持续时间来获得视频持续时间的方法。 我进行了很多搜索,但没有找到任何方法来获取持续时间。在