ffmpeg matches no streams
up vote
0
down vote
favorite
I'm trying to make complex filters with fluent ffmpeg work, but getting the error:
Stream specifier 'pts' in filtergraph description
[0:v]setpts=0.3333333333333333*PTS[pts];[pts]crop=out_w=3381.4186868767238:out_h=1728:x=0:y=0[left];[pts]crop=out_w=74.58131312327646:out_h=1728:x=3381.4186868767238:y=0[right];[left][right]hstack=inputs=2[orientated];[1:v]scale=3456:1728[hs1];[hs1]colorkey=0x00ff00:0.8:0.1[hs1x];[orientated][hs1x]overlay[out]
matches no streams.
This is how I'm trying to build the filter
const filter =
let init = '[0:v]'
if(node.video.playBackRate){
filter.push({filter: 'setpts',options: 1/node.video.playBackRate+'*PTS', inputs: init, outputs: '[pts]'})
init = '[pts]'
}
if(node.scene && node.scene.cameraDefault){
const theta = JSON.parse(node.scene.cameraDefault).rotationY
const per = height * (theta/180)
const left = height + per
const right = height - per
filter.push({filter: 'crop',options: {out_w: left, out_h: height, x: 0, y: 0}, inputs: init, outputs: '[left]'})
filter.push({filter: 'crop',options: {out_w: right, out_h: height, x: left, y: 0}, inputs: init, outputs: '[right]'})
filter.push({filter: 'hstack',options: {inputs : 2}, inputs: ['[left]','[right]'], outputs: '[orientated]'})
init = '[orientated]'
}
if(node.hotspots){
const overlays = [init]
node.hotspots.forEach((hotspot, index) => {
if(hotspot.render){
const options = {}
if(hotspot.startTime)
options['-ss'] = hotspot.startTime
if(hotspot.endTime)
options['-t'] = hotspot.endTime - (hotspot.startTime || 0)
node.ffmpeg.addInput(dir + '/' + hotspot.render)//.withInputOptions(options)
filter.push({filter: 'scale', options: `${width}:${height}`, inputs: `[${index + 1}:v]`, outputs: `[hs${index+1}]`})
filter.push({filter: 'colorkey', options: '0x00ff00:0.8:0.1', inputs: `[hs${index+1}]`, outputs: `[hs${index+1}x]`})
overlays.push(`[hs${index+1}x]`)
}
})
filter.push({filter: 'overlay', inputs: overlays, outputs: '[out]'})
}
node.ffmpeg.complexFilter(filter, '[out]')
Where am I going wrong?
I assume it's the right hand crop filter.. I need to somehow run those filters with the same input..
video ffmpeg
add a comment |
up vote
0
down vote
favorite
I'm trying to make complex filters with fluent ffmpeg work, but getting the error:
Stream specifier 'pts' in filtergraph description
[0:v]setpts=0.3333333333333333*PTS[pts];[pts]crop=out_w=3381.4186868767238:out_h=1728:x=0:y=0[left];[pts]crop=out_w=74.58131312327646:out_h=1728:x=3381.4186868767238:y=0[right];[left][right]hstack=inputs=2[orientated];[1:v]scale=3456:1728[hs1];[hs1]colorkey=0x00ff00:0.8:0.1[hs1x];[orientated][hs1x]overlay[out]
matches no streams.
This is how I'm trying to build the filter
const filter =
let init = '[0:v]'
if(node.video.playBackRate){
filter.push({filter: 'setpts',options: 1/node.video.playBackRate+'*PTS', inputs: init, outputs: '[pts]'})
init = '[pts]'
}
if(node.scene && node.scene.cameraDefault){
const theta = JSON.parse(node.scene.cameraDefault).rotationY
const per = height * (theta/180)
const left = height + per
const right = height - per
filter.push({filter: 'crop',options: {out_w: left, out_h: height, x: 0, y: 0}, inputs: init, outputs: '[left]'})
filter.push({filter: 'crop',options: {out_w: right, out_h: height, x: left, y: 0}, inputs: init, outputs: '[right]'})
filter.push({filter: 'hstack',options: {inputs : 2}, inputs: ['[left]','[right]'], outputs: '[orientated]'})
init = '[orientated]'
}
if(node.hotspots){
const overlays = [init]
node.hotspots.forEach((hotspot, index) => {
if(hotspot.render){
const options = {}
if(hotspot.startTime)
options['-ss'] = hotspot.startTime
if(hotspot.endTime)
options['-t'] = hotspot.endTime - (hotspot.startTime || 0)
node.ffmpeg.addInput(dir + '/' + hotspot.render)//.withInputOptions(options)
filter.push({filter: 'scale', options: `${width}:${height}`, inputs: `[${index + 1}:v]`, outputs: `[hs${index+1}]`})
filter.push({filter: 'colorkey', options: '0x00ff00:0.8:0.1', inputs: `[hs${index+1}]`, outputs: `[hs${index+1}x]`})
overlays.push(`[hs${index+1}x]`)
}
})
filter.push({filter: 'overlay', inputs: overlays, outputs: '[out]'})
}
node.ffmpeg.complexFilter(filter, '[out]')
Where am I going wrong?
I assume it's the right hand crop filter.. I need to somehow run those filters with the same input..
video ffmpeg
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm trying to make complex filters with fluent ffmpeg work, but getting the error:
Stream specifier 'pts' in filtergraph description
[0:v]setpts=0.3333333333333333*PTS[pts];[pts]crop=out_w=3381.4186868767238:out_h=1728:x=0:y=0[left];[pts]crop=out_w=74.58131312327646:out_h=1728:x=3381.4186868767238:y=0[right];[left][right]hstack=inputs=2[orientated];[1:v]scale=3456:1728[hs1];[hs1]colorkey=0x00ff00:0.8:0.1[hs1x];[orientated][hs1x]overlay[out]
matches no streams.
This is how I'm trying to build the filter
const filter =
let init = '[0:v]'
if(node.video.playBackRate){
filter.push({filter: 'setpts',options: 1/node.video.playBackRate+'*PTS', inputs: init, outputs: '[pts]'})
init = '[pts]'
}
if(node.scene && node.scene.cameraDefault){
const theta = JSON.parse(node.scene.cameraDefault).rotationY
const per = height * (theta/180)
const left = height + per
const right = height - per
filter.push({filter: 'crop',options: {out_w: left, out_h: height, x: 0, y: 0}, inputs: init, outputs: '[left]'})
filter.push({filter: 'crop',options: {out_w: right, out_h: height, x: left, y: 0}, inputs: init, outputs: '[right]'})
filter.push({filter: 'hstack',options: {inputs : 2}, inputs: ['[left]','[right]'], outputs: '[orientated]'})
init = '[orientated]'
}
if(node.hotspots){
const overlays = [init]
node.hotspots.forEach((hotspot, index) => {
if(hotspot.render){
const options = {}
if(hotspot.startTime)
options['-ss'] = hotspot.startTime
if(hotspot.endTime)
options['-t'] = hotspot.endTime - (hotspot.startTime || 0)
node.ffmpeg.addInput(dir + '/' + hotspot.render)//.withInputOptions(options)
filter.push({filter: 'scale', options: `${width}:${height}`, inputs: `[${index + 1}:v]`, outputs: `[hs${index+1}]`})
filter.push({filter: 'colorkey', options: '0x00ff00:0.8:0.1', inputs: `[hs${index+1}]`, outputs: `[hs${index+1}x]`})
overlays.push(`[hs${index+1}x]`)
}
})
filter.push({filter: 'overlay', inputs: overlays, outputs: '[out]'})
}
node.ffmpeg.complexFilter(filter, '[out]')
Where am I going wrong?
I assume it's the right hand crop filter.. I need to somehow run those filters with the same input..
video ffmpeg
I'm trying to make complex filters with fluent ffmpeg work, but getting the error:
Stream specifier 'pts' in filtergraph description
[0:v]setpts=0.3333333333333333*PTS[pts];[pts]crop=out_w=3381.4186868767238:out_h=1728:x=0:y=0[left];[pts]crop=out_w=74.58131312327646:out_h=1728:x=3381.4186868767238:y=0[right];[left][right]hstack=inputs=2[orientated];[1:v]scale=3456:1728[hs1];[hs1]colorkey=0x00ff00:0.8:0.1[hs1x];[orientated][hs1x]overlay[out]
matches no streams.
This is how I'm trying to build the filter
const filter =
let init = '[0:v]'
if(node.video.playBackRate){
filter.push({filter: 'setpts',options: 1/node.video.playBackRate+'*PTS', inputs: init, outputs: '[pts]'})
init = '[pts]'
}
if(node.scene && node.scene.cameraDefault){
const theta = JSON.parse(node.scene.cameraDefault).rotationY
const per = height * (theta/180)
const left = height + per
const right = height - per
filter.push({filter: 'crop',options: {out_w: left, out_h: height, x: 0, y: 0}, inputs: init, outputs: '[left]'})
filter.push({filter: 'crop',options: {out_w: right, out_h: height, x: left, y: 0}, inputs: init, outputs: '[right]'})
filter.push({filter: 'hstack',options: {inputs : 2}, inputs: ['[left]','[right]'], outputs: '[orientated]'})
init = '[orientated]'
}
if(node.hotspots){
const overlays = [init]
node.hotspots.forEach((hotspot, index) => {
if(hotspot.render){
const options = {}
if(hotspot.startTime)
options['-ss'] = hotspot.startTime
if(hotspot.endTime)
options['-t'] = hotspot.endTime - (hotspot.startTime || 0)
node.ffmpeg.addInput(dir + '/' + hotspot.render)//.withInputOptions(options)
filter.push({filter: 'scale', options: `${width}:${height}`, inputs: `[${index + 1}:v]`, outputs: `[hs${index+1}]`})
filter.push({filter: 'colorkey', options: '0x00ff00:0.8:0.1', inputs: `[hs${index+1}]`, outputs: `[hs${index+1}x]`})
overlays.push(`[hs${index+1}x]`)
}
})
filter.push({filter: 'overlay', inputs: overlays, outputs: '[out]'})
}
node.ffmpeg.complexFilter(filter, '[out]')
Where am I going wrong?
I assume it's the right hand crop filter.. I need to somehow run those filters with the same input..
video ffmpeg
video ffmpeg
asked Nov 16 at 3:21
beek
132116
132116
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
Don't know the syntax of fluent-ffmpeg, but I can identify the issue, You can't reuse filter outputs generated within the filtergraph. The method needed is to split the output, so the initial part of the filtergraph would look like this,
[0:v]setpts=0.3333333333333333*PTS,split=2[pts1][pts2];
[pts1]crop=out_w=3381.4186868767238:out_h=1728:x=0:y=0[left];
[pts2]crop=out_w=74.58131312327646:out_h=1728:x=3381.4186868767238:y=0[right];
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
Don't know the syntax of fluent-ffmpeg, but I can identify the issue, You can't reuse filter outputs generated within the filtergraph. The method needed is to split the output, so the initial part of the filtergraph would look like this,
[0:v]setpts=0.3333333333333333*PTS,split=2[pts1][pts2];
[pts1]crop=out_w=3381.4186868767238:out_h=1728:x=0:y=0[left];
[pts2]crop=out_w=74.58131312327646:out_h=1728:x=3381.4186868767238:y=0[right];
add a comment |
up vote
0
down vote
accepted
Don't know the syntax of fluent-ffmpeg, but I can identify the issue, You can't reuse filter outputs generated within the filtergraph. The method needed is to split the output, so the initial part of the filtergraph would look like this,
[0:v]setpts=0.3333333333333333*PTS,split=2[pts1][pts2];
[pts1]crop=out_w=3381.4186868767238:out_h=1728:x=0:y=0[left];
[pts2]crop=out_w=74.58131312327646:out_h=1728:x=3381.4186868767238:y=0[right];
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
Don't know the syntax of fluent-ffmpeg, but I can identify the issue, You can't reuse filter outputs generated within the filtergraph. The method needed is to split the output, so the initial part of the filtergraph would look like this,
[0:v]setpts=0.3333333333333333*PTS,split=2[pts1][pts2];
[pts1]crop=out_w=3381.4186868767238:out_h=1728:x=0:y=0[left];
[pts2]crop=out_w=74.58131312327646:out_h=1728:x=3381.4186868767238:y=0[right];
Don't know the syntax of fluent-ffmpeg, but I can identify the issue, You can't reuse filter outputs generated within the filtergraph. The method needed is to split the output, so the initial part of the filtergraph would look like this,
[0:v]setpts=0.3333333333333333*PTS,split=2[pts1][pts2];
[pts1]crop=out_w=3381.4186868767238:out_h=1728:x=0:y=0[left];
[pts2]crop=out_w=74.58131312327646:out_h=1728:x=3381.4186868767238:y=0[right];
answered Nov 16 at 5:27
Gyan
13.8k21641
13.8k21641
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1375877%2fffmpeg-matches-no-streams%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown