2017-01-06 1 views
1

비디오를 ppm으로 변환하는 데 필요한 자습서를 찾았습니다. http://webcache.googleusercontent.com/search?q=cache:http://dranger.com/ffmpeg/tutorial01.html&gws_rd=cr&ei=BU9tWNyFNsvCjwTXqbuwDg비디오를 ppm 파일로 변환

그러나 여기에는 왜 너비 * 3이 나오지 않습니다.

void SaveFrame(AVFrame *pFrame, int width, int height, int iFrame) { 
    FILE *pFile; 
    char szFilename[32]; 
    int y; 

    // Open file 
    sprintf(szFilename, "frame%d.ppm", iFrame); 
    pFile=fopen(szFilename, "wb"); 
    if(pFile==NULL) 
    return; 

    // Write header 
    fprintf(pFile, "P6\n%d %d\n255\n", width, height); 

    // Write pixel data 
    for(y=0; y<height; y++) { 

    fwrite(pFrame->data[0]+y*pFrame->linesize[0], 1, width*3, pFile); 
    } 

    // Close file 
    fclose(pFile); 
} 

답변

2

아마도 모든 이미지 지점에 3 개의 채널 (RGB)이 있기 때문일 수 있습니다.

관련 문제