- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将 2 个视频文件及其音频并排合并到一个文件中。
我可以将 2 个视频文件合并到一个文件中,但它只使用第一个视频文件中的音频,而我也需要合并第二个文件的音频。
这是我正在尝试的方法:ffmpeg.exe -i input1.webm -vf "[in] scale=iw/2:ih/2, pad=2*iw:ih [left]; movie=input2.webm, scale=iw/2:ih/2 [right]; [left][right] overlay=main_w/2:0 [out]" -b:v 768k ouput.webm
我用 amerge
尝试了各种方法但没有成功。由于我是 FFMpeg 的新手,我不确定如何实现这一点。
编辑
下面是我用来合并两个文件的 FFMpeg 命令,正如@occvtech 所建议的那样,但它仍然没有合并第二个音频流。ffmpeg.exe -i 3.mp4 -i 4.mp4 -filter_complex "[0:v] scale=iw/2:ih/2,pad=2*iw:ih[left];[1:v]scale=iw/2:ih/2[right];[left][right]overlay=main_w/2:0 [out]" -map [out] -map 0:a -map 1:a -b:v 768k o5.mp4
下面是控制台输出:
ffmpeg version N-72276-gf99fed7 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
libavutil 54. 23.101 / 54. 23.101
libavcodec 56. 39.101 / 56. 39.101
libavformat 56. 33.101 / 56. 33.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '3.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.23.106
Duration: 00:00:13.52, start: 0.023220, bitrate: 968 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yu
v420p, 640x480, 889 kb/s, 10 fps, 10 tbr, 10240 tbn, 20 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp,
76 kb/s (default)
Metadata:
handler_name : SoundHandler
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '4.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.23.106
Duration: 00:00:14.92, start: 0.023220, bitrate: 1049 kb/s
Stream #1:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yu
v420p, 640x480, 971 kb/s, 10 fps, 10 tbr, 10240 tbn, 20 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp,
75 kb/s (default)
Metadata:
handler_name : SoundHandler
[libx264 @ 040d20e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 040d20e0] profile High, level 2.1
[libx264 @ 040d20e0] 264 - core 146 r2538 121396c - H.264/MPEG-4 AVC codec - Cop
yleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deb
lock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 m
e_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chro
ma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 i
nterlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=10 scenec
ut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=768 ratetol=1.0 qc
omp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'o5.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.33.101
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x24
0, q=-1--1, 768 kb/s, 10 fps, 10240 tbn, 10 tbc (default)
Metadata:
encoder : Lavc56.39.101 libx264
Stream #0:1(und): Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 44100
Hz, mono, s16, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
encoder : Lavc56.39.101 libvo_aacenc
Stream mapping:
Stream #0:0 (h264) -> scale (graph 0)
Stream #1:0 (h264) -> scale (graph 0)
overlay (graph 0) -> Stream #0:0 (libx264)
Stream #1:1 -> #0:1 (aac (native) -> aac (libvo_aacenc))
Press [q] to stop, [?] for help
frame= 27 fps= 26 q=0.0 size= 0kB time=00:00:03.00 bitrate= 0.1kbits/s
frame= 46 fps= 28 q=0.0 size= 0kB time=00:00:04.90 bitrate= 0.1kbits/s
frame= 80 fps= 37 q=16.0 size= 303kB time=00:00:08.29 bitrate= 298.8kbits/
frame= 117 fps= 43 q=15.0 size= 717kB time=00:00:11.99 bitrate= 489.9kbits/
Past duration 0.767570 too large
frame= 137 fps= 39 q=-1.0 Lsize= 1488kB time=00:00:14.94 bitrate= 815.8kbits
/s dup=0 drop=12
video:1247kB audio:234kB subtitle:0kB other streams:0kB global headers:0kB muxin
g overhead: 0.504372%
[libx264 @ 040d20e0] frame I:1 Avg QP:10.60 size: 30577
[libx264 @ 040d20e0] frame P:36 Avg QP:10.78 size: 20384
[libx264 @ 040d20e0] frame B:100 Avg QP:15.41 size: 5116
[libx264 @ 040d20e0] consecutive B-frames: 0.7% 0.0% 17.5% 81.8%
[libx264 @ 040d20e0] mb I I16..4: 13.2% 49.8% 37.0%
[libx264 @ 040d20e0] mb P I16..4: 0.8% 10.7% 1.9% P16..4: 17.7% 30.4% 29.0%
0.0% 0.0% skip: 9.6%
[libx264 @ 040d20e0] mb B I16..4: 0.0% 1.1% 0.0% B16..8: 27.0% 20.2% 10.1%
direct:15.3% skip:26.3% L0:35.6% L1:31.1% BI:33.3%
[libx264 @ 040d20e0] final ratefactor: 13.38
[libx264 @ 040d20e0] 8x8 transform intra:77.9% inter:38.4%
[libx264 @ 040d20e0] coded y,uvDC,uvAC intra: 96.3% 97.8% 97.5% inter: 46.4% 68.
0% 41.1%
[libx264 @ 040d20e0] i16 v,h,dc,p: 44% 4% 7% 44%
[libx264 @ 040d20e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 10% 19% 3% 6% 5% 5%
6% 5%
[libx264 @ 040d20e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 16% 9% 5% 12% 10% 9%
7% 6%
[libx264 @ 040d20e0] i8c dc,h,v,p: 66% 12% 12% 10%
[libx264 @ 040d20e0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 040d20e0] ref P L0: 46.3% 12.0% 28.7% 13.0%
[libx264 @ 040d20e0] ref B L0: 81.1% 16.0% 2.9%
[libx264 @ 040d20e0] ref B L1: 93.2% 6.8%
[libx264 @ 040d20e0] kb/s:745.10
最佳答案
您需要添加 amerge
audio filter将两个音频流合并为一个:
ffmpeg -i input0.mp4 -i input1.mp4 -filter_complex \
"[0:v]scale=iw/2:-1,setpts=PTS-STARTPTS[left]; \
[1:v]scale=iw/2:-1,setpts=PTS-STARTPTS[right]; \
[left][right]hstack[v]; \
[0:a][1:a]amerge=inputs=2[a]" \
-map "[v]" -map "[a]" output
input0.mp4
的音频进行立体声输出。在左声道,来自 input1.mp4
的音频在正确的 channel 。您没有指定结果 channel 的排列方式,但如果您更喜欢单声道输出,请添加 -ac 1
在输出文件名之前。 hstack
可以替换pad
+ overlay
. hstack
更简单,可能更快。 关于audio - 将 2 个视频文件及其音频并排合并到一个文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30324838/
我在 Excel 中有两个图表,但我想将这些图表合并为一个图表。如您所见,我缩小了 graph1 中图表的大小。我想移动 graph2 中的图表进入graph1中的空白区域 最佳答案 我认为在基本的
我正在为我的站点构建一个 HTML 模板,并希望在左侧有一个主要内容 Pane ,在右侧有一个导航 Pane (类似于 Twitter)。 我假设 DIV 不是首选方法,因为默认情况下它们是从上到下列
我有以下 fiddle :http://jsfiddle.net/BFSH4/ 如您所见,有两个问题: h1 和 h2 没有垂直对齐。 导航和内容未水平对齐。 对于 1. 我已经尝试了 margin
在下面的示例中,我试图让“左”和“右”div 并排显示。显然我的理解是有缺陷的,但我犯了什么错误,因为(至少在 Chrome 中)它们没有并排出现。 谢谢
我在 chrome 上使用 Tampermonkey 向网页添加按钮。单击时,脚本会分析页面,然后显示警报。这是显示按钮的代码: function Main(){ GM_addStyle(
我的自定义键盘中有 UICollectionView,它有两行高度相同但宽度不同(大小来自服务器)的单元格,滚动方向是水平的。 我怎样才能并排显示集合项,而不用这种基于先前单元格宽度的奇怪居中? 最佳
任何人都可以帮助将两个位图图像组合成一个位图 在安卓中(并排)。 谢谢,尤瓦拉杰 最佳答案 您可以使用 Canvas - 查看这篇文章: http://www.jondev.net/articles/
如果有的话,设计 RPM 的“正确”方法是什么,以便可以通过 YUM/RPM 并排安装多个版本而不会相互干扰?对于库,正确的答案似乎与 sonames 有关,尽管我找不到任何关于 sonames、符号
从我的 last question 跟进:我执行了 Steve 提供的所有步骤,SxS Parse 日志为空,但我仍然收到“Class Not Registered”错误。 我知道我的 .exe 正在
我想并排显示两个图 block 层,就像并排的传单插件 ( https://github.com/digidem/leaflet-side-by-side )。 但是,我不知道如何用 react 来做
我正在制作一个将 PO 导出为 PDF 的采购订单系统,但我需要在上半部分显示来自买方和卖方的数据。我想并排放置 2 个 DetailView,每个都有 50% 的页面宽度。有可能的?到目前为止,我还
无论屏幕大小如何,我都试图并排 float 两个 div。目前在 IE 7 中,如果我调整窗口大小,一个 div 会下降到另一个下方。我认为这是因为 div2 包含一个表格,一旦窗口边缘碰到表格,它就
我想使用这个数据框的 geom_bar() 创建一个并排的条形图, > dfp1 value percent1 percent 1 (18,29] 0.20909091 0.454545
我正在尝试在 Xcode (Swift) 中创建一个单位转换器,并一直在尝试在 Storyboard 中对 UI 进行排序。我一直试图在屏幕的上半部分并排放置两个表格 View ,以保存两个测量类型的
下面的代码运行良好。 eventDrag 和 Drop 我可以放置在表格内的任何位置。 但是我只想将事件拖放到事件的左侧和右侧。 我想从其他事件的顶部和底部停止拖动事件。只有左侧和右侧的其他事件我想拖
我似乎无法让我的图层列表正常工作。 我需要
我想要类似 unix 中的 paste 命令,它需要两个文件并打印第一行,第一个文件,然后是分隔符,然后是第二个文件的第一行,然后是换行符,然后是第一个文件的第二行第二个文件的文件分隔符第二行,等等。
我想将我的内部应用程序的测试版本部署到我的测试组,我需要它与当前的 LIVE 版本一起安装。 我更改了发布选项中的所有内容,但它仍然会覆盖我的实时安装。我还需要做什么?我是否必须更改“应用程序”选项卡
我想创建一个设置,其中左侧有一个图像,右侧有一个 div。我正在使用 float left 来完成此操作,但我希望右侧的 div 与左侧的图像具有相同的高度,并且文本垂直居中。 这是一个jsfiddl
如何让两张 table 并排放置。问题可能会出现,有时一张 table 可能比另一张 table 大它旁边的表格,所以这可能会导致问题并且下面的表格可能不对齐,我想解决。在我制作的演示中,我有四个表,
我是一名优秀的程序员,十分优秀!