gpt4 book ai didi

video - ffmpeg/视频处理 : make video repeat itself without duplicating content?

转载 作者:行者123 更新时间:2023-12-04 23:18:27 24 4
gpt4 key购买 nike

假设我有一个大小为 20 MB 且持续 30 秒的视频文件。
我想创建一个基本上由现有视频组成的新视频文件,重复 10 次。因此,新视频应持续 300 秒(5 分钟)并且每 30 秒包含相同的内容。
我当然可以将此视频附加到自身 10 次,从而生成大约 200 MB 的文件。但这似乎非常多余,因为显然相同的内容在那里十倍。我希望有一种更智能的方法,其中相同的 30 秒视频以某种方式被“引用”10 次。
常见的编码器或容器格式(例如 .mp4 或 .mkv 容器中的 h.264)是否支持此功能?无论如何,有没有办法用 ffmpeg 来解决这个问题?

最佳答案

可以选择创建 M3U playlist file ( playlist.m3u8 ) 将同一个文件重复 10 次。
例子:
创建 30 秒合成视频(用于测试):

ffmpeg -y -f lavfi -i testsrc=size=192x108:rate=30 -f lavfi -i sine=frequency=400 -f lavfi -i sine=frequency=1000 -filter_complex "[1:a][2:a]amix=inputs=2" -vcodec libx264 -crf 17 -pix_fmt yuv420p -acodec aac -ar 44100 -t 30 input.mp4
假设 input.mp4是你的 30 秒视频。

将 MP4 文件重新复用为 TS 容器格式(播放列表不适用于 MP4 文件):
ffmpeg -y -i input.mp4 -codec copy input.ts

创建一个名为 playlist.m3u8 的文本文件内容如下:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:30
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:30.00,
input.mp4
#EXTINF:30.00,
input.mp4
#EXTINF:30.00,
input.mp4
#EXTINF:30.00,
input.mp4
#EXTINF:30.00,
input.mp4
#EXTINF:30.00,
input.mp4
#EXTINF:30.00,
input.mp4
#EXTINF:30.00,
input.mp4
#EXTINF:30.00,
input.mp4
#EXTINF:30.00,
input.mp4
#EXT-X-ENDLIST
你可以玩 playlist.m3u8大多数视频播放器的文件。

在大多数情况下,输入文件被分割成小段(用于 Web 视频流):
ffmpeg -y -i input.mp4 -codec copy -f segment input%3d.ts
创建片段的播放列表:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:30
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:30.00,
input000.ts
#EXTINF:30.00,
input001.ts
#EXTINF:30.00,
input002.ts
#EXTINF:30.00,
input003.ts
#EXTINF:30.00,
input000.ts
#EXTINF:30.00,
input001.ts
#EXTINF:30.00,
input002.ts
#EXTINF:30.00,
input003.ts
#EXTINF:30.00,

...

#EXT-X-ENDLIST

播放列表解决方案是我能想到的唯一解决方案。
该格式主要用于 HTTP Live Streaming (HLS) 格式。
它与拥有单个视频文件不同(例如在搜索方面)。
据我所知,使用 MP4 或 MKV 等经典视频容器是不可能的。
还有一个选项可以播放同一个文件 10 次(可能不相关),例如:
ffplay -loop 10 input.mp4

关于video - ffmpeg/视频处理 : make video repeat itself without duplicating content?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71699351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com