我想将.flv下载的 zip 中的 adobe connect 视频转换为.mp4. 我已经完成了这个问题和答案中解释的步骤,但是我.flv在 .zip 中组织了这样的文件:
此外,我知道 ffmpeg 可以将视频和声音文件合并在一起,以及直接从命令行连接生成的剪辑,这可能非常有用:https : //www.labnol.org/internet/useful-ffmpeg-commands/28490 /
我无法要求视频的所有者将其作为.mp4adobe connect 管理界面中的一个可用。简而言之,我想在 VLC 中以 x2 速度收听这些视频(就像我在 YouTube 上听随机数学课时所做的一样 - 我打开了 x2 速度)。我以 x2 速度观看 adobe connect 视频所获得的时间是巨大的。
我想我不是唯一想这样做的人。有很多的关于下载ADOBE CONNECT视频论坛的问题,但.flv与一些混合的格式.xml通常是一个杀手,当主机不使影片在正常使用.mp4。
处理.flv文件的顺序是一个难题。至少,我不会在意将聊天内容冲走并留下一些类似的细节,这将有助于重建视频。任何自动化该过程的脚本都会很有用。
有人知道如何使用ffmpeg(或其他cli)将两个(或更多)视频拼接在一起吗?这是假设所有的影片都在相同的格式和所使用的视频格式允许无损拼接(无转码,刚刚结束对终端的拼接).
为了节省时间,我想在多台计算机上对大型视频文件进行分段和转码。
我使用 ffmpeg 对大视频文件的片段进行转码:
ffmpeg -i large_movie.mp4 -ss 00:00:00 -t 00:01:00 -acodec libfaac seg0.flv
ffmpeg -i large_movie.mp4 -ss 00:01:00 -t 00:01:00 -acodec libfaac seg1.flv
...
Run Code Online (Sandbox Code Playgroud)
并连接段:
ffmpeg -i concat.conf -vcodec copy -acodec copy result.flv
Run Code Online (Sandbox Code Playgroud)
concat.conf的内容:
ffsconcat version 1.0
file seg0.flv
file seg1.flv
...
Run Code Online (Sandbox Code Playgroud)
现在我们得到一个结果 FLV 文件 result.flv 内容的所有段。但是当我播放这个文件时,我发现段边界音频可能会暂时中断!我确信这些段是密切相关的,并且时间戳是正确的。
当我将segment文件中的AAC样本解码成波形格式,并用CoolEdit打开波形时,我发现在文件的前端和末尾,音频样本的值很小(静音?)!在文件的前面,有大约 21 毫秒的“静音”样本。在文件的末尾,有大约 3 毫秒的“静音”样本。
静音采样结果是否会暂时中断?如何顺利连接包含AAC的媒体文件?
经过进一步的测试,我发现如果你将一个wave文件拆分为小wave文件,然后将这个小wave文件编码为小aac文件使用faac:
faac -P -R 48000 -B 16 -C 2 -X -o 1.aac 1.wav
faac -P -R 48000 -B 16 -C 2 -X -o 2.aac 2.wav …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序来使用 mp4parser 合并 n 个视频。要合并的视频是在前置摄像头和后置摄像头中拍摄的。如果我将这些视频合并为单个,则可以很好地合并所有视频,但是通过前置摄像头拍摄的替代视频将合并为倒置。我能做什么。请任何人帮助我。
这是我合并视频的代码:
try {
String f1,f2,f3;
f1 = Environment.getExternalStorageDirectory() + "/DCIM/testvideo1.mp4";// video took via back camera
f2 = Environment.getExternalStorageDirectory() + "/DCIM/testvideo2.mp4";// video took via front camera
f3 = Environment.getExternalStorageDirectory() + "/DCIM/testvideo3.mp4";// video took via front camera
Movie[] inMovies = new Movie[] {
MovieCreator.build(f1),
MovieCreator.build(f2),
MovieCreator.build(f3)
};
List<Track> videoTracks = new LinkedList<Track>();
List<Track> audioTracks = new LinkedList<Track>();
for (Movie m : inMovies) {
for (Track t : m.getTracks()) {
if (t.getHandler().equals("soun")) {
audioTracks.add(t);
}
if (t.getHandler().equals("vide")) { …Run Code Online (Sandbox Code Playgroud) 所以我正在研究一个概念,虽然我知道我可以使用 FFMPEG 来做我需要做的事情,但我希望有一种方法可以使用 nodejs Request 将视频加入到另一个视频的末尾。
以下代码适用于音频,我使用的视频文件是 MP4(请注意,我正在尝试将同一视频连接在一起,因此应该是 18 秒而不是 9 秒。
URL = https://storage.googleapis.com/ad-system/testfolder/Video/10%20second%20video%20FAIL.mp4
const express = require('express');
request = require('request');
const router = new express.Router();
router.get(':url(*)', (req, res) =>{
var url = req.params.url.substr(1);
res.set({
"Content-Type": "video/mp4",
'Transfer-Encoding': 'chunked'
});
var clients = [];
ASystem();
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
console.log;(req.params.url);
/* START A FUNCTION */
function ASystem(){
var remote = "https://storage.googleapis.com/ad-system/testfolder/Video/10%20second%20video%20FAIL.mp4";
var streama = request.get(remote);
streama.on("connect", function() {
console.error(" connected!");
console.error(streama.headers);
});
streama.on("end", function() {
console.error(" END"); …Run Code Online (Sandbox Code Playgroud) 我有一系列音频和视频片段,其中每个音频片段与其视频片段具有1:1的相关性.每个视频和每个音频剪辑的编码是相同的.如何连接所有音频剪辑和所有视频剪辑,然后将它们合并在一起以输出视频.截至目前,我只想出了如何将1个音频剪辑与1个视频剪辑合并:
$ ffmpeg -i video_1.webm -i audio_1.wav -acodec copy -vcodec copy output.mkv
Run Code Online (Sandbox Code Playgroud)
刚刚遇到的更新mkvmerge这可能是一个更好的选择吗?
我从DVD获得了一个文件到文件的副本,其中包括一个Video_TS目录以及一堆BUP,IFO和VOB文件。我可以在像VLC这样的播放器中打开其中的一些(不是全部)文件,它似乎包含电影的片段,但看起来像垃圾。好像编码或文件结构已损坏。
但是,如果我使用VLC打开整个Video_TS目录,则可以正常播放。
有没有一种方法可以将这个Video_TS目录转换为一个单独的视频文件,例如MP4或MKV?
我已经读过二进制连接VOB文件的可能性,我尝试了一下,但无济于事。同样,我也不知道如何确定VOB文件的确切顺序,更重要的是,信息必须以某种方式位于文件本身内(考虑到视频播放器可以自动播放)。
(编辑)有人编辑了问题,并删除了ffmpeg部分。抱歉,如果我没有进一步阐明这一点:我实际上是在明确地寻找一种使用ffmpeg做到这一点的方法(来自macOS上的shell)。
我正在尝试连接两个文件,第一个包含音频和视频,而第二个仅包含视频。我使用以下ffmpeg命令:
ffmpeg_command = ["ffmpeg", "-f", "concat", "-safe", "0", "-i", "clips_to_join.txt", "-vcodec", "copy", "-acodec", "copy", output_file_path] # output_filename = ch0X-start_time-end_time
p = subprocess.Popen(ffmpeg_command)
p.communicate()
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / …Run Code Online (Sandbox Code Playgroud) 我正在研究一些连接视频并通过 moviepy 添加一些标题的东西。
正如我在网络和我的电脑上看到的,moviepy 在 CPU 上运行,并且需要花费大量时间来保存(渲染)电影。有没有办法通过在GPU上运行moviepy的写入来提高速度?喜欢使用 FFmpeg 或类似的东西?
我在网上没有找到答案,所以我希望你们中的一些人可以帮助我。我尝试使用thread=4andthread=16但它们仍然非常非常慢并且没有太大变化。
我的CPU非常强大(i7 10700k),但是在moviepy上渲染仍然需要我总共8分40秒的编译时间,这已经很多了。
有什么想法吗?谢谢!代码并不重要,但是:
def Edit_Clips(self):
clips = []
time=0.0
for i,filename in enumerate(os.listdir(self.path)):
if filename.endswith(".mp4"):
tempVideo=VideoFileClip(self.path + "\\" + filename)
txt = TextClip(txt=self.arrNames[i], font='Amiri-regular',
color='white', fontsize=70)
txt_col = txt.on_color(size=(tempVideo.w + txt.w, txt.h - 10),
color=(0, 0, 0), pos=(6, 'center'), col_opacity=0.6)
w, h = moviesize = tempVideo.size
txt_mov = txt_col.set_pos(lambda t: (max(w / 30, int(w - 0.5 * w * t)),
max(5 * h / 6, int(100 …Run Code Online (Sandbox Code Playgroud) 我想编写一个程序,使用 python (cv2) 中的 openCV 来监视和跟踪 2 个不同视频中的对象。
我想将两个视频合并为 1 个视频,然后在该视频上运行一个程序来跟踪对象。
有人可以展示并解释合并它们背后的说明吗?
我这里的代码不起作用。在视频 1 的第一帧后启动视频 2
import cv2
capture = cv2.VideoCapture('p1a_tetris_1.mp4') #tell open cv to use the following video file as input
while capture.isOpened():
ret, frame = capture.read() #capture each frame from the video .
#ret is a boolean to indicate if the
if ret == True :
grayFrame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # apply gray frame to current frame
cv2.imshow('video Part 1', grayFrame) # shows video in grascale …Run Code Online (Sandbox Code Playgroud)