这2个视频有什么区别?
What is the difference between these 2 videos?
我正在使用 fluent-ffmpeg 调整视频大小。
虽然我不知道发生了什么。我有 2 个视频文件,一个有效,另一个无效。我一直在搜索这两个文件的 mediainfo
输出,检查差异,但除了 filesize
、duration
等。没有区别(相同的 codec
、format
, width
/height
, frame rate
等)
Here's a link 到两个文件。
我一直在使用输入流将这些视频文件读入 fluent-ffmpeg,如下所示:
await new Promise((resolve, reject) => {
ffmpeg(file.stream)
.output(path)
.size('426x240')
.on('start', function() {
console.log('started');
})
.on('error', function(err) {
console.log('An error occurred: ' + err.message);
})
.on('progress', function(progress) {
console.log('... frames: ' + progress.frames);
})
.on('end', function() {
console.log('Finished processing');
resolve();
})
.run();
});
工作文件打印:
started
... frames: 86
... frames: 107
Finished processing
但非工作文件似乎没有任何框架,并打印:
started
... frames: 0
Finished processing
知道哪里出了问题吗?
正在执行的ffmpeg命令:
ffmpeg -i pipe:0 -y -filter:v scale=w=426:h=240 uploads/works.mp4
当您将文件作为流传递时,ffmpeg 似乎无法探测文件。但如果您将它作为文件传递,它确实有效。可能是因为 probing/demuxer 可以选择使用搜索等。我试图增加探测缓冲区但没有让它工作。
这不起作用:
cat doesnt_work.mp4 | ffmpeg -i pipe:0 test.mp4
但这行得通:
ffmpeg -i doesnt_work.mp4 test.mp4
I've been scouring the mediainfo outputs of both files, checking for discrepancies but other than filesize, duration etc. there's no difference
确实如此,但仅限于完整模式。在文件上尝试 mediainfo -f
,您会看到:
IsStreamable : Yes
工作文件,
IsStreamable : No
对于非工作文件。
a "no"这里的意思是input需要支持seek(header在末尾,播放器需要seek到end解析header再seek回到beginning解析数据)。
我正在使用 fluent-ffmpeg 调整视频大小。
虽然我不知道发生了什么。我有 2 个视频文件,一个有效,另一个无效。我一直在搜索这两个文件的 mediainfo
输出,检查差异,但除了 filesize
、duration
等。没有区别(相同的 codec
、format
, width
/height
, frame rate
等)
Here's a link 到两个文件。
我一直在使用输入流将这些视频文件读入 fluent-ffmpeg,如下所示:
await new Promise((resolve, reject) => {
ffmpeg(file.stream)
.output(path)
.size('426x240')
.on('start', function() {
console.log('started');
})
.on('error', function(err) {
console.log('An error occurred: ' + err.message);
})
.on('progress', function(progress) {
console.log('... frames: ' + progress.frames);
})
.on('end', function() {
console.log('Finished processing');
resolve();
})
.run();
});
工作文件打印:
started
... frames: 86
... frames: 107
Finished processing
但非工作文件似乎没有任何框架,并打印:
started
... frames: 0
Finished processing
知道哪里出了问题吗?
正在执行的ffmpeg命令:
ffmpeg -i pipe:0 -y -filter:v scale=w=426:h=240 uploads/works.mp4
当您将文件作为流传递时,ffmpeg 似乎无法探测文件。但如果您将它作为文件传递,它确实有效。可能是因为 probing/demuxer 可以选择使用搜索等。我试图增加探测缓冲区但没有让它工作。
这不起作用:
cat doesnt_work.mp4 | ffmpeg -i pipe:0 test.mp4
但这行得通:
ffmpeg -i doesnt_work.mp4 test.mp4
I've been scouring the mediainfo outputs of both files, checking for discrepancies but other than filesize, duration etc. there's no difference
确实如此,但仅限于完整模式。在文件上尝试 mediainfo -f
,您会看到:
IsStreamable : Yes
工作文件,
IsStreamable : No
对于非工作文件。
a "no"这里的意思是input需要支持seek(header在末尾,播放器需要seek到end解析header再seek回到beginning解析数据)。