我尝试使用 ffmpeg 来实现这一点,但由于某种原因,音频中出现了间隙。
mylist.txt 列出所有.ts 文件。
ffmpeg -f concat -i mylist.txt -c copy video-all.ts
ffmpeg -i video-all.ts -acodec copy -vcodec copy video.mp4
我在这里上传了所有相关文件http://www.mediafire.com/file/gxul811x9ze5gmj/sm1586342.zip。例如,它经常在 0:37 处卡顿,位于 sm1586342-6.ts 和 sm1586342-7.ts 之间的边界处
答案1
首先,所有工人的同事都说,你的女人说的不是这个
首先!!!在阅读本教程之前,请先检查您是否喜欢视频的最终版本
新的最终视频和音频 https://www.mediafire.com/file/tk8ygblhv4r4bl1/tesis_end_bestquality.mp4/file
旧视频和音频 http://www.mediafire.com/file/k7f5yacxfufk4j3/all_before_tutorial.mp4/文件
您必须使用 ffmpeg 完成整个项目,但这并不意味着这就是全部!我们将一步一步地工作!
1:https://i.stack.imgur.com/TUbvl.jpg 1
为什么?如果我们想象一下,如何烹制汉堡和土豆......厨师在第一步将所有食材放入油中,加热至 300 华氏度,5 分钟?...
我们将把这次行动分为两大部分,
流 0:0用于视频 流 0:1对于音频
这里的问题是,输入被分为 26 个部分,每个部分持续 6 秒,扩展名为“.ts”,按顺序排列并列在文件“mylist.txt”中
注意:您可以在这里找到所有媒体文件http://www.mediafire.com/folder/tdo9co17nu7gk/sm1586342
让我们看看我们必须连接哪些文件……
ffmpeg -i sm1586342-1.ts
输入 #0,mpegts,来自‘sm1586342-1.ts’:持续时间:00:00:06.01,开始:1.000000,比特率:289 kb/s 节目 1 流 #0:0[0x101]:音频:aac (LC) ([15][0][0][0] / 0x000F),44100 Hz,立体声,fltp,5 kb/s 流 #0:1[0x100]:视频:h264 (Constrained Baseline) ([27][0][0][0] / 0x001B),yuv420p(tv,bt709,渐进式),480x360 [SAR 1:1 DAR 4:3],24 fps,24 tbr,90k tbn,48 tbc
溪流#0:0[0x101]:声音的:AAC
溪流#0:1[0x100]:视频:h264(受限基线)([27][0][0][0] / 0x001B),yuv420p(电视,bt709,渐进式),480x360 [SAR 1:1 DAR 4:3],24 fps,24 tbr,90k tbn,48 tbc
这里的秘密是将工作流 0:0 和 0:1 分开。
首先连接音频的 0:0,而不是复制视频
ffmpeg -f concat -i mylist.txt -map 0:0 -map 0:1 -c copy -strict -2 -vn audio.ts
后来又有另一股流
ffmpeg -f concat -i mylist.txt -map 0:0 -map 0:1 -an -c copy video.ts
这意味着我们告诉 ffmpeg 1)按照“mylist.txt”文件中的顺序合并所有文件,并且当您拥有唯一文件时,将相同质量的音频复制到输出文件音频.ts对于 video.ts 来说反之亦然
好的,现在将 video.ts 复制为流 0:0,并将 audio.ts -strict -2 复制到 work_audiovideo.mp4
我尝试使用 ffmpeg 来实现这一点,但由于某种原因,音频中出现了间隙。
audio.ts 中没有间隙,但是 audio.ts 现在处于可怕的解码系统中,aac 格式 craapple 有损编解码器。
在这种情况下,您必须掌握音频文件......
怎么做?将所有音频放入立体声,增加频率以重新组织“间隙”,并放入一个真正的、友好的竞争者中,即 .flac,显然,或 .rar 或 .zip,但 flac 是“首选”(对于世界而言)
如果我们的耳朵可以听到,无论听的人服用了什么药物,他们的耳朵都可以听到 18,000 赫兹,而我们只有两只耳朵、两条听觉神经和大脑中解码和创建的一部分,如果音频是真实的,就像你想要的情感一样,那么,我们必须认为耳朵的“20,000 赫兹”是正确的比例/文件大小/解码时间/等...嘿,这是一条神经科学规则,与奈奎斯特的醉酒无关,那是一种幼稚的理论。
好的,我们将提供更多容量来向您显示音频,将立体声道中的频率增加到 48000 赫兹,速度为 16 位/秒,更多吗?是如何为您的狗购买食物,这是要讲的另一章。
使用糟糕的 audio.ts 编码器 (aac) 创建 audio.flac 文件
ffmpeg -i 音频.ts -map 0:0 -codec:a flac -ac 2 -ar 48000 -sample_fmt s16 音频.flac
现在,我们有 video.ts、audio.flac 和 audio.mp4
将 ts 改为 mp4
ffmpeg -i video.ts -map 0:0 -c copy -an video.mp4
THE END 是为了享受“tesis_end_bestquality.mp4”
ffmpeg -i 视频.mp4 -i 音频.flac -c copy -map 0:0 -map 1:0 -map_metadata -1 -movflags +faststart -strict -3 -f mp4 tesis_end_bestquality.mp4
是的,大家感谢大家,但是我想要传递这顶帽子,因为我想要一台新的 Mac,这是我的用于聊天或与新 Mac 协作的电子邮件,谢谢你们,问候!
答案2
这几乎就像 xear 的答案,但不会重新编码音频。
ffmpeg -f concat -i mylist.txt -map 0:0 -map 0:1 -c copy -vn audio.aac
ffmpeg -f concat -i mylist.txt -map 0:0 -map 0:1 -an -c copy video.ts
ffmpeg -i video.ts -i audio.aac -c copy -map 0:0 -map 1:0 -map_metadata -1 -movflags +faststart -strict -3 -f mp4 final.mp4
这样播放效果更好,但我不确定音频是否正确连接,以及它是否会在音频和视频之间添加不同步。但至少我用我的耳朵听不到任何异常。
编辑:放弃这种方法,它引入了超过 10 分钟的长视频的音频设计。我现在使用ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4
,注意-safe 0
。仍然有点问题,但我放弃了,将视频切成多个 .ts 文件首先就是邪恶的。