2017-05-18 33 views
4

나는 웹 사이트에서 일부 애니메이션을 캡처하고 ffmpeg를 사용하여 그들을 결합하려고합니다. 지금까지 내가 문서 startScreencast을 이해하는 한 가지 방법이 있습니다.헤드리스 크롬 캡쳐 화면 동영상 또는 애니메이션

난 지금 내가

await Page.startScreencast({format: 'png', everyNthFrame: 1});

로 스크린 캐스트를 시작하고

Page.screencastFrame(image =>{ 
    const {data, metadata} = image; 
    console.log(metadata); 
}); 

모든 들어오는 프레임을 청취하지만 뭔가를 출력 결코 할 수 있음을 이해합니다. 그래서 나는 그것이 부르지 않았다고 생각합니다.

let counter = 0; 
while(counter < 500){ 
    await Page.startScreencast({format: 'png', everyNthFrame: 1}); 
    const {data, metadata} = await Page.screencastFrame(); 
    console.log(metadata); 
    counter += 1; 
} 

비 확대됨에 해킹 같은 느낌 :

나는 이런 식으로 뭔가 내 목표를 보관. 따라서 startScreencastscreencastFrame을 올바르게 사용하는 방법에 대한 제안 사항은 무엇입니까?

답변

6

수신 된 모든 프레임도 수신 확인되어야합니다.

await Page.navigate({url: 'http://www.goodboydigital.com/pixijs/examples/12-2/'}); 
    await Page.loadEventFired(); 
    await Page.startScreencast({format: 'png', everyNthFrame: 1}); 

    let counter = 0; 
    while(counter < 100){ 
     const {data, metadata, sessionId} = await Page.screencastFrame(); 
     console.log(metadata); 
     await Page.screencastFrameAck({sessionId: sessionId}); 
    } 

자세한 설명은 github issue에 링크하십시오.