- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要连接来自不同来源的 mp4 文件,这意味着一些变量是我无法控制的,例如时基、纵横比和编码。因此,为了解决这个问题,我重新编码并尝试在连接文件之前对其进行标准化。不幸的是,尽管如此,我还是得到了 Non-monotonous DTS in output stream
在连接阶段发出警告,并且输出视频似乎总是在最后一段中断音频/视频同步。
我知道还有很多其他关于解决上述警告的问题,但我已经通过所有这些问题并查看了文档..但不幸的是我仍然无法解决它..
我认为我不明白的是:如果我有来自不同来源的 mp4,我究竟需要做什么来确保文件总是整齐地连接在一起?
到目前为止我尝试过的
我用来在连接之前标准化 mp4 文件的脚本如下(修改分辨率、帧速率、时基、音频比特率、视频比特率、音频编码和视频编码):
ffmpeg -y -i $1 -vf 'scale=1280:720:force_original_aspect_ratio=1,pad=1280:720:(ow-iw)/2:(oh-ih)/2' -r 30 -video_track_timescale 90000 -b:a 128K -b:v 1200K -c:a aac -c:v libx264 $2
ffprobe
两个文件的输出,有一些差异,但我不确定它们是否重要?
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'intro.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.12.100
Duration: 00:00:08.98, start: 0.000000, bitrate: 1210 kb/s
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1069 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 132 kb/s (default)
Metadata:
handler_name : SoundHandler
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'middle.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.12.100
Duration: 00:00:59.72, start: 0.000000, bitrate: 1200 kb/s
Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1063 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
ffmpeg -y \
-f concat \
-safe 0 \
-i $INFILES \
-c:v libx264 \
-c:a copy \
-preset fast \
-vf drawtext=enable="'between(t, $DRAW_TEXT_DELAY, $DRAW_TEXT_DURATION)': fontfile=$FONT_DIR/$FONT: text='$TEXT': fontcolor=$FONTCOLOR: fontsize=$FONTSIZE: $POSITION" \
$OUTFILE
INFILES
是文本文件的路径,格式如下:
file /usr/src/app/data/test/out/intro.mp4
file /usr/src/app/data/test/out/middle.mp4
file /usr/src/app/data/test/out/outro.mp4
最佳答案
您的音频流具有不同的采样率,并且也可能具有不同的 channel 数。此外,压缩的 MPEG 音频流将在 concat 时引入轻微的异步。
利用
ffmpeg -y -i $1 -vf 'scale=1280:720:force_original_aspect_ratio=1,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,format=yuv420p' -r 30 -c:v libx264 -b:v 1200K -ac 2 -ar 48000 -c:a pcm_s16le -video_track_timescale 90000 $2
-c:a copy
至
-c:a aac
.
关于FFMPEG - 连接来自不同来源的 mp4 - 无法停止 "Non-monotonous DTS in output stream"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51723633/
我正在尝试为我的 typescript 项目生成一个 typescript 定义文件,其中包含几个基/继承类、实用程序等。在我们的项目中,每个 A.ts 文件将被编译为 A.js 文件,A.js .m
当我想用 ffmpeg 连接和录制两个 mp4 视频时,我遇到了这个问题。我得到的输出是: [concat @ 0x2566e80] DTS 4079 #0:0 (h264 (native) ->
环境:Windows7,ffmpeg 4.2.2 copy the first 10 seconds from long.mp4 to UNO.mp4 copy sec 120 to sec 130
我有 2 个 ffmpeg 实例,它们正在通过一个用 C 编写的缓冲区。 ffmpeg 实例之一是创建 FLV 输出并将其发送到连接到 C 程序的 TCP 套接字。 C 正在填充一个数组,然后将数据包
我只是想从缓冲区中保存相同的视频帧,在那里我正确保存了帧的位图帧和时间戳。 writer1 = new VideoFileWriter(); this.writer1.Width = this.vid
观察 - 第一部分 - I 我在其他地方看到了运行以下命令的建议,以查看我的 .mp4 是否有问题。 ffmpeg -v error -i ~/Desktop/5_minute_sync_outpu
当通过断开连接的编辑查看 DTS 包时,转换数据任务中的目标列或源列具有 DataType 属性,其值类似于 129、130、131、135。 我在哪里可以找到这些值的含义列表? 最佳答案 我认为是
我们有一个旧的 DTS 包,我们的 SQL 2000 Server 使用它来将员工记录推送到我们制造车间的机器上。 最近,我们升级了其中一台机器,它现在正在运行 SQL 2008 Express。 我
在我正在进行的一个遗留项目中,我们有几个通过 DTS 执行的处理。 DTS 并不是我在其鼎盛时期经常使用的东西……我当时还在上大学。 更具体地说,这些过程位于 ActiveX 代码块中——基本上是用于
是否可以通过删除非单调 DTS 帧将 .ts 文件流式复制到另一个 .ts 文件?这些帧的分辨率通常也比我要复制的视频小。我尝试使用 VideoReDo 进行此操作,但没有成功,我似乎无法使其正常工作
我有几个文件需要合并。有时文件似乎可以毫无问题地工作和连接。然后在其他文件上,文件不会合并,我得到“非单调 DTS”。我一直在谷歌搜索我应该在这些文件上做些什么,以便它们正确连接,但我仍然没有找到。
我正在尝试在 Visual Basic 2010 中执行带有脚本组件的 SSIS 包。执行包时出现以下错误: public void Main() { // TODO:
我正在编译 OpenWrt(基于 Linux 的无线路由器),我在 OpenWrt 源代码中添加了一个板子,我的板子有两个 uart 端口,我可以声明并启用两个 uart 端口,这两个 uart 端口
我做了 ffmpeg -i x.mp4 -ss 17 two.mp4 现在我试着做 ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4 与
我有一些视频,我试图用 ffmpeg 连接它们,它们都可以自己正常工作,但试图用这个命令连接它们: ffmpeg -f concat -safe 0 -fflags flush_packets -ff
我有一个视频,其中包含超出视频数据末尾的一些音频数据包: $> ffprobe -show_packets video.mp4 ... ... ... [PACKET] codec_type=vide
我有三个视频,我想将它们连接在一起这个问题对于某些视频来说效果很好,但是当我测试一个特定的视频时,它给了我一个错误,并导致生成的视频以一种奇怪的方式显示,并且视频中的一切都进展得非常快就像我转发视频一
Bootloaders like U-Boot that do not implement the Open Firmware API, are expected to pass to the ker
我试图从 DTS 文件中理解以下代码段。 /dts-v1/; / { model = "MPC8313ERDB"; compatible = "MPC8313ERDB", "MPC83
我需要找到一个包含特定表名的 DTS 包。有 200 多个 DTS 包,每个包中都有多个对象。 My_Prod 是表名。是否有 T-SQL 命令来查找引用此表名的所有 DTS 包? 最佳答案 正如埃里
我是一名优秀的程序员,十分优秀!