{"id":12046,"date":"2023-08-29T14:33:36","date_gmt":"2023-08-29T14:33:36","guid":{"rendered":"https:\/\/new-blog.artlist.io\/blog\/?p=12046"},"modified":"2024-01-01T12:31:08","modified_gmt":"2024-01-01T12:31:08","slug":"film-photography","status":"publish","type":"post","link":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/","title":{"rendered":"6 reasons why film photography is popular again"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">It was nearly 200 years ago that the very first photo was taken, in 1826, by Joseph Nic\u00e9phore Ni\u00e9pce, and the process has changed dramatically since that time. The first commercial cameras were giant machines with delicate plates that required subjects to sit still for up to 30 minutes as the photo was taken. Nowadays, most people have a camera in their pocket, and snapping and sharing a picture worldwide can take just seconds. Recently, there has been a rise in the popularity of film photography projects, and in this blog post, we\u2019ll look at why that\u2019s the case.<\/span><\/p>\n\n    <div class=\"clipsContainer\" id=\"69d056a4a29e2\"><\/div>\n\n    <script>\n        jQuery(document).ready(function($) {\n\n            if(\"footage\" == 'footage') {\n                if(\"135039\" == '') { \/\/ if this is a request for multiple clips by attributes\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query ClipList($page: Int, $sortType: Int, $categoryIds: String, $searchTerm: String) {\n\t\t\t\t\t\t\t\tclipList(page: $page, sortType: $sortType, categoryIds: $categoryIds, searchTerm: $searchTerm) {\n\t\t\t\t\t\t\t\t  exactResults  {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"page\": 1,\n\t\t\t\t\t\t\t\t\"sortType\": 1,\n\t\t\t\t\t\t\t\t\"categoryIds\": null,\n\t\t\t\t\t\t\t\t\"searchTerm\": \"\"\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('footage list: ', res);\n                            var data = res.data.clipList.exactResults;\n                            if ($(\"#69d056a4a29e2\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a29e2\");\n                            } else if ($(\"#69d056a4a29e2\").length && data.length == 0) {\n                                $(\"#69d056a4a29e2\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                } else if(\"135039\" !== '') { \/\/ if this is a request for a specific clip by id\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Clip($clipId: Int!) {\n\t\t\t\t\t\t\t\tclip(id: $clipId) {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"clipId\": 135039\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific footage: ', res);\n                            var data = res.data.clip;\n                            if ($(\"#69d056a4a29e2\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a29e2\");\n                            } else if ($(\"#69d056a4a29e2\").length && data.length == '') {\n                                $(\"#69d056a4a29e2\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            } else if(\"footage\" == 'templates') {\n                if(\"135039\" === '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query TemplatesList($payload: TemplatesByTermSearchPayload!) {\n                                templatesList(payload: $payload) {\n                                    nameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n                                }\n                            }`,\n                            variables: `{\n                                \"payload\": {\n                                    \"page\": 1,\n                                    \"take\": 2,\n                                    \"sortBy\": \"1\",\n                                    \"categories\": null,\n                                    \"searchTerms\": \"\"\n                                }\n                            }`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('templates list: ', res);\n                            var data = res.data.templatesList;\n                            if ($(\"#69d056a4a29e2\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a29e2\");\n                            } else if ($(\"#69d056a4a29e2\").length && data.length == 0) {\n                                $(\"#69d056a4a29e2\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                    } else if(\"135039\" !== '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Template($ids: [String!]!, $page: Int!, $take: Int!) {\n\t\t\t\t\t\t\t\ttemplatesByIds(ids: $ids, page: $page, take: $take) {\n\t\t\t\t\t\t\t\t\tnameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n                                \"ids\": [\"135039\"],\n                                \"page\": 1,\n                                \"take\": 1\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific template: ', res);\n                            var data = res.data.templatesByIds[0];\n                            if ($(\"#69d056a4a29e2\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a29e2\");\n                            } else if ($(\"#69d056a4a29e2\").length && data.length == '') {\n                                $(\"#69d056a4a29e2\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            }\n\n            function createClipsGrid(data, clipsContainerId){\n                const container = $(\"#\" + clipsContainerId);\n                let playerSrc = '';\n\n                $.each(data, function(index, clip) {\n                    if(\"135039\" !== '') { \/\/ if this is a request for a specific clip by id - then the data is not an array of clips but only one clip and that's why the \"clip\" variable is actually the \"data\"\n                        index = 0\n                        clip = data;\n                    }\n                    if ((index) < 2) {\n                        \/\/ clip container\n                        const clipContainer = $(\"<div>\").addClass(\"clipContainer \");\n                        \/\/ new badge\n                        if (clip.isNew) {\n                            clipContainer.append('<span class=\"isNewBadge\">NEW<\/span>');\n                        }\n                        \/\/ video\n                        let videoElement = document.createElement('video');\n                        videoElement.setAttribute('playsinline', '');\n                        videoElement.setAttribute('webkit-playsinline', '');\n                        videoElement.setAttribute('x5-playsinline', '');\n                        videoElement.setAttribute('preload', 'auto');\n                        \n                        clipContainer.append(videoElement);\n                        \/\/ clip name and artist name\n                        let clipName = '';\n                        let artistName = '';\n                        if(\"footage\" == 'footage') {\n                            clipName = clip.clipNameForUrl;\n                            clipName = clipName.replace(\/-\/g, \", \");\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clipName);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.filmMakerDisplayName + '');\n                        } else if(\"footage\" == 'templates') {\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clip.name);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.artistName + '');\n                        }\n                        const clipNames = $(\"<span>\").addClass(\"clipNames\").append(clipName, artistName);\n                        \/\/ download button\n                        let clipDownload = '';\n                        if(\"footage\" == 'footage') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        } else if(\"footage\" == 'templates') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        }\n                        \/\/ overlay\n                        const overlay = $(\"<div>\").addClass(\"overlay\");\n                        overlay.append(clipNames, clipDownload);\n\n                        \/\/ APPEND ALL ELEMENTS INTO AUDIO PLAYER CONTAINER\n                        clipContainer.append(videoElement, overlay);\n\n                        \/\/ if this is a preview of only one specific clip (by id)\n                        if(\"135039\" !== '') {\n                            $(container).addClass(\"clipContainerSingular\")\n                        }\n\n                        \/\/ append audio player container into main playlist container\n                        container.append(clipContainer[0]);\n\n                        if(\"footage\" == 'footage') {\n                            playerSrc =  clip.clipPath;\n                        } else if(\"footage\" == 'templates') {\n                            playerSrc =  clip.previewVideoFileUrl;\n                        }\n                        const player = videojs(videoElement, {\n                            muted: true,\n                            autoplay: true,\n                        });\n\n                        player.src({\n                            src: playerSrc,\n                            type: 'application\/x-mpegURL'\n                        });\n\n                        \/* SEGMENT EVENTS *\/\n                        const special_data = getProps();\n\n                        \/* media played *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('play', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media played\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media paused *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('pause', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media paused\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media viewed *\/\n                        const observer = new IntersectionObserver(entries => {\n                            entries.forEach(entry => {\n                                if (entry.isIntersecting) {\n                                    var assetId = clip.id;\n                                    var artist = clip.filmMakerDisplayName || clip.artistName;\n                                    var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                                    var asset_type = null;\n                                    if(\"footage\" == 'footage') {\n                                        asset_type = 'footage';\n                                    } else if(\"footage\" == 'templates') {\n                                        asset_type = 'template';\n                                    }\n                                    analytics.track(\"media viewed\", {\n                                        asset_id: assetId || null,\n                                        asset_type: asset_type || null,\n                                        click_source: 'player',\n                                        artist: artist || null,\n                                        title: title || null,\n                                        genre: null,\n                                        ...special_data,\n                                    });\n                                    observer.unobserve(entry.target);\n                                }\n                            });\n                        }, {\n                            threshold: 0.5\n                        });\n                        observer.observe($videoElement[0]);\n\n                        \/* media downloaded *\/\n                        $videoElement.closest('.clipContainer').find('.clipName').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n                        $videoElement.closest('.clipContainer').find('.clipDownload').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/\/ check screen size\n                        var mobileScreen = window.matchMedia('(max-width: 767px)');\n                        if (mobileScreen.matches) { \/\/ mobile\n                            const observer = new IntersectionObserver(function(entries) {\n                                entries.forEach(entry => {\n                                    if (entry.isIntersecting) {\n                                        player.play(); \/\/ Play the video when it enters the viewport\n                                    } else {\n                                        player.pause(); \/\/ Pause the video when it goes out of the viewport\n                                    }\n                                });\n                            });\n                            observer.observe(videoElement);\n                        } else { \/\/ desktop\n                            clipContainer.on('mouseenter', function() {\n                                player.play();\n                            });\n\n                            clipContainer.on('mouseleave', function() {\n                                player.pause();\n                            });\n                        }\n\n                    }\n                    if(\"135039\" !== '') { \/\/ if this is a request for a specific clip by id - then break out of loop after first time bc it's not an array\n                        return false;\n                    }\n                });\n            }\n\n        });\n    <\/script>\n\n    \n<h2><span style=\"font-weight: 400;\">What is film photography?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Film photography is an entirely different medium from the digital photography you&#8217;re used to taking with your phone or DSLR. Analog photography can be a fairly complicated process that takes time, money, and skill.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">When using 35mm film photo reels in an analog camera, light is exposed through the camera lens, burning the image into the film. The film reel then needs developing before the negatives are projected onto photo paper, creating what we know as a photograph.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Similarly to digital photography, there are many types of analog photography cameras with a vast range of lenses. Unfortunately, the decline in popularity of the format has made 35mm film quite expensive, and far fewer businesses are developing film.<\/span><\/p>\n\n    <div class=\"clipsContainer\" id=\"69d056a4a2d86\"><\/div>\n\n    <script>\n        jQuery(document).ready(function($) {\n\n            if(\"footage\" == 'footage') {\n                if(\"407871\" == '') { \/\/ if this is a request for multiple clips by attributes\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query ClipList($page: Int, $sortType: Int, $categoryIds: String, $searchTerm: String) {\n\t\t\t\t\t\t\t\tclipList(page: $page, sortType: $sortType, categoryIds: $categoryIds, searchTerm: $searchTerm) {\n\t\t\t\t\t\t\t\t  exactResults  {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"page\": 1,\n\t\t\t\t\t\t\t\t\"sortType\": 1,\n\t\t\t\t\t\t\t\t\"categoryIds\": null,\n\t\t\t\t\t\t\t\t\"searchTerm\": \"\"\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('footage list: ', res);\n                            var data = res.data.clipList.exactResults;\n                            if ($(\"#69d056a4a2d86\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a2d86\");\n                            } else if ($(\"#69d056a4a2d86\").length && data.length == 0) {\n                                $(\"#69d056a4a2d86\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                } else if(\"407871\" !== '') { \/\/ if this is a request for a specific clip by id\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Clip($clipId: Int!) {\n\t\t\t\t\t\t\t\tclip(id: $clipId) {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"clipId\": 407871\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific footage: ', res);\n                            var data = res.data.clip;\n                            if ($(\"#69d056a4a2d86\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a2d86\");\n                            } else if ($(\"#69d056a4a2d86\").length && data.length == '') {\n                                $(\"#69d056a4a2d86\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            } else if(\"footage\" == 'templates') {\n                if(\"407871\" === '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query TemplatesList($payload: TemplatesByTermSearchPayload!) {\n                                templatesList(payload: $payload) {\n                                    nameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n                                }\n                            }`,\n                            variables: `{\n                                \"payload\": {\n                                    \"page\": 1,\n                                    \"take\": 2,\n                                    \"sortBy\": \"1\",\n                                    \"categories\": null,\n                                    \"searchTerms\": \"\"\n                                }\n                            }`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('templates list: ', res);\n                            var data = res.data.templatesList;\n                            if ($(\"#69d056a4a2d86\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a2d86\");\n                            } else if ($(\"#69d056a4a2d86\").length && data.length == 0) {\n                                $(\"#69d056a4a2d86\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                    } else if(\"407871\" !== '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Template($ids: [String!]!, $page: Int!, $take: Int!) {\n\t\t\t\t\t\t\t\ttemplatesByIds(ids: $ids, page: $page, take: $take) {\n\t\t\t\t\t\t\t\t\tnameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n                                \"ids\": [\"407871\"],\n                                \"page\": 1,\n                                \"take\": 1\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific template: ', res);\n                            var data = res.data.templatesByIds[0];\n                            if ($(\"#69d056a4a2d86\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a2d86\");\n                            } else if ($(\"#69d056a4a2d86\").length && data.length == '') {\n                                $(\"#69d056a4a2d86\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            }\n\n            function createClipsGrid(data, clipsContainerId){\n                const container = $(\"#\" + clipsContainerId);\n                let playerSrc = '';\n\n                $.each(data, function(index, clip) {\n                    if(\"407871\" !== '') { \/\/ if this is a request for a specific clip by id - then the data is not an array of clips but only one clip and that's why the \"clip\" variable is actually the \"data\"\n                        index = 0\n                        clip = data;\n                    }\n                    if ((index) < 2) {\n                        \/\/ clip container\n                        const clipContainer = $(\"<div>\").addClass(\"clipContainer \");\n                        \/\/ new badge\n                        if (clip.isNew) {\n                            clipContainer.append('<span class=\"isNewBadge\">NEW<\/span>');\n                        }\n                        \/\/ video\n                        let videoElement = document.createElement('video');\n                        videoElement.setAttribute('playsinline', '');\n                        videoElement.setAttribute('webkit-playsinline', '');\n                        videoElement.setAttribute('x5-playsinline', '');\n                        videoElement.setAttribute('preload', 'auto');\n                        \n                        clipContainer.append(videoElement);\n                        \/\/ clip name and artist name\n                        let clipName = '';\n                        let artistName = '';\n                        if(\"footage\" == 'footage') {\n                            clipName = clip.clipNameForUrl;\n                            clipName = clipName.replace(\/-\/g, \", \");\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clipName);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.filmMakerDisplayName + '');\n                        } else if(\"footage\" == 'templates') {\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clip.name);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.artistName + '');\n                        }\n                        const clipNames = $(\"<span>\").addClass(\"clipNames\").append(clipName, artistName);\n                        \/\/ download button\n                        let clipDownload = '';\n                        if(\"footage\" == 'footage') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        } else if(\"footage\" == 'templates') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        }\n                        \/\/ overlay\n                        const overlay = $(\"<div>\").addClass(\"overlay\");\n                        overlay.append(clipNames, clipDownload);\n\n                        \/\/ APPEND ALL ELEMENTS INTO AUDIO PLAYER CONTAINER\n                        clipContainer.append(videoElement, overlay);\n\n                        \/\/ if this is a preview of only one specific clip (by id)\n                        if(\"407871\" !== '') {\n                            $(container).addClass(\"clipContainerSingular\")\n                        }\n\n                        \/\/ append audio player container into main playlist container\n                        container.append(clipContainer[0]);\n\n                        if(\"footage\" == 'footage') {\n                            playerSrc =  clip.clipPath;\n                        } else if(\"footage\" == 'templates') {\n                            playerSrc =  clip.previewVideoFileUrl;\n                        }\n                        const player = videojs(videoElement, {\n                            muted: true,\n                            autoplay: true,\n                        });\n\n                        player.src({\n                            src: playerSrc,\n                            type: 'application\/x-mpegURL'\n                        });\n\n                        \/* SEGMENT EVENTS *\/\n                        const special_data = getProps();\n\n                        \/* media played *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('play', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media played\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media paused *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('pause', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media paused\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media viewed *\/\n                        const observer = new IntersectionObserver(entries => {\n                            entries.forEach(entry => {\n                                if (entry.isIntersecting) {\n                                    var assetId = clip.id;\n                                    var artist = clip.filmMakerDisplayName || clip.artistName;\n                                    var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                                    var asset_type = null;\n                                    if(\"footage\" == 'footage') {\n                                        asset_type = 'footage';\n                                    } else if(\"footage\" == 'templates') {\n                                        asset_type = 'template';\n                                    }\n                                    analytics.track(\"media viewed\", {\n                                        asset_id: assetId || null,\n                                        asset_type: asset_type || null,\n                                        click_source: 'player',\n                                        artist: artist || null,\n                                        title: title || null,\n                                        genre: null,\n                                        ...special_data,\n                                    });\n                                    observer.unobserve(entry.target);\n                                }\n                            });\n                        }, {\n                            threshold: 0.5\n                        });\n                        observer.observe($videoElement[0]);\n\n                        \/* media downloaded *\/\n                        $videoElement.closest('.clipContainer').find('.clipName').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n                        $videoElement.closest('.clipContainer').find('.clipDownload').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/\/ check screen size\n                        var mobileScreen = window.matchMedia('(max-width: 767px)');\n                        if (mobileScreen.matches) { \/\/ mobile\n                            const observer = new IntersectionObserver(function(entries) {\n                                entries.forEach(entry => {\n                                    if (entry.isIntersecting) {\n                                        player.play(); \/\/ Play the video when it enters the viewport\n                                    } else {\n                                        player.pause(); \/\/ Pause the video when it goes out of the viewport\n                                    }\n                                });\n                            });\n                            observer.observe(videoElement);\n                        } else { \/\/ desktop\n                            clipContainer.on('mouseenter', function() {\n                                player.play();\n                            });\n\n                            clipContainer.on('mouseleave', function() {\n                                player.pause();\n                            });\n                        }\n\n                    }\n                    if(\"407871\" !== '') { \/\/ if this is a request for a specific clip by id - then break out of loop after first time bc it's not an array\n                        return false;\n                    }\n                });\n            }\n\n        });\n    <\/script>\n\n    \n\n    <div class=\"clipsContainer\" id=\"69d056a4a2ea7\"><\/div>\n\n    <script>\n        jQuery(document).ready(function($) {\n\n            if(\"footage\" == 'footage') {\n                if(\"97682\" == '') { \/\/ if this is a request for multiple clips by attributes\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query ClipList($page: Int, $sortType: Int, $categoryIds: String, $searchTerm: String) {\n\t\t\t\t\t\t\t\tclipList(page: $page, sortType: $sortType, categoryIds: $categoryIds, searchTerm: $searchTerm) {\n\t\t\t\t\t\t\t\t  exactResults  {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"page\": 1,\n\t\t\t\t\t\t\t\t\"sortType\": 1,\n\t\t\t\t\t\t\t\t\"categoryIds\": null,\n\t\t\t\t\t\t\t\t\"searchTerm\": \"\"\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('footage list: ', res);\n                            var data = res.data.clipList.exactResults;\n                            if ($(\"#69d056a4a2ea7\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a2ea7\");\n                            } else if ($(\"#69d056a4a2ea7\").length && data.length == 0) {\n                                $(\"#69d056a4a2ea7\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                } else if(\"97682\" !== '') { \/\/ if this is a request for a specific clip by id\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Clip($clipId: Int!) {\n\t\t\t\t\t\t\t\tclip(id: $clipId) {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"clipId\": 97682\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific footage: ', res);\n                            var data = res.data.clip;\n                            if ($(\"#69d056a4a2ea7\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a2ea7\");\n                            } else if ($(\"#69d056a4a2ea7\").length && data.length == '') {\n                                $(\"#69d056a4a2ea7\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            } else if(\"footage\" == 'templates') {\n                if(\"97682\" === '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query TemplatesList($payload: TemplatesByTermSearchPayload!) {\n                                templatesList(payload: $payload) {\n                                    nameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n                                }\n                            }`,\n                            variables: `{\n                                \"payload\": {\n                                    \"page\": 1,\n                                    \"take\": 2,\n                                    \"sortBy\": \"1\",\n                                    \"categories\": null,\n                                    \"searchTerms\": \"\"\n                                }\n                            }`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('templates list: ', res);\n                            var data = res.data.templatesList;\n                            if ($(\"#69d056a4a2ea7\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a2ea7\");\n                            } else if ($(\"#69d056a4a2ea7\").length && data.length == 0) {\n                                $(\"#69d056a4a2ea7\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                    } else if(\"97682\" !== '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Template($ids: [String!]!, $page: Int!, $take: Int!) {\n\t\t\t\t\t\t\t\ttemplatesByIds(ids: $ids, page: $page, take: $take) {\n\t\t\t\t\t\t\t\t\tnameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n                                \"ids\": [\"97682\"],\n                                \"page\": 1,\n                                \"take\": 1\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific template: ', res);\n                            var data = res.data.templatesByIds[0];\n                            if ($(\"#69d056a4a2ea7\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a2ea7\");\n                            } else if ($(\"#69d056a4a2ea7\").length && data.length == '') {\n                                $(\"#69d056a4a2ea7\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            }\n\n            function createClipsGrid(data, clipsContainerId){\n                const container = $(\"#\" + clipsContainerId);\n                let playerSrc = '';\n\n                $.each(data, function(index, clip) {\n                    if(\"97682\" !== '') { \/\/ if this is a request for a specific clip by id - then the data is not an array of clips but only one clip and that's why the \"clip\" variable is actually the \"data\"\n                        index = 0\n                        clip = data;\n                    }\n                    if ((index) < 2) {\n                        \/\/ clip container\n                        const clipContainer = $(\"<div>\").addClass(\"clipContainer \");\n                        \/\/ new badge\n                        if (clip.isNew) {\n                            clipContainer.append('<span class=\"isNewBadge\">NEW<\/span>');\n                        }\n                        \/\/ video\n                        let videoElement = document.createElement('video');\n                        videoElement.setAttribute('playsinline', '');\n                        videoElement.setAttribute('webkit-playsinline', '');\n                        videoElement.setAttribute('x5-playsinline', '');\n                        videoElement.setAttribute('preload', 'auto');\n                        \n                        clipContainer.append(videoElement);\n                        \/\/ clip name and artist name\n                        let clipName = '';\n                        let artistName = '';\n                        if(\"footage\" == 'footage') {\n                            clipName = clip.clipNameForUrl;\n                            clipName = clipName.replace(\/-\/g, \", \");\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clipName);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.filmMakerDisplayName + '');\n                        } else if(\"footage\" == 'templates') {\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clip.name);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.artistName + '');\n                        }\n                        const clipNames = $(\"<span>\").addClass(\"clipNames\").append(clipName, artistName);\n                        \/\/ download button\n                        let clipDownload = '';\n                        if(\"footage\" == 'footage') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        } else if(\"footage\" == 'templates') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        }\n                        \/\/ overlay\n                        const overlay = $(\"<div>\").addClass(\"overlay\");\n                        overlay.append(clipNames, clipDownload);\n\n                        \/\/ APPEND ALL ELEMENTS INTO AUDIO PLAYER CONTAINER\n                        clipContainer.append(videoElement, overlay);\n\n                        \/\/ if this is a preview of only one specific clip (by id)\n                        if(\"97682\" !== '') {\n                            $(container).addClass(\"clipContainerSingular\")\n                        }\n\n                        \/\/ append audio player container into main playlist container\n                        container.append(clipContainer[0]);\n\n                        if(\"footage\" == 'footage') {\n                            playerSrc =  clip.clipPath;\n                        } else if(\"footage\" == 'templates') {\n                            playerSrc =  clip.previewVideoFileUrl;\n                        }\n                        const player = videojs(videoElement, {\n                            muted: true,\n                            autoplay: true,\n                        });\n\n                        player.src({\n                            src: playerSrc,\n                            type: 'application\/x-mpegURL'\n                        });\n\n                        \/* SEGMENT EVENTS *\/\n                        const special_data = getProps();\n\n                        \/* media played *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('play', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media played\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media paused *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('pause', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media paused\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media viewed *\/\n                        const observer = new IntersectionObserver(entries => {\n                            entries.forEach(entry => {\n                                if (entry.isIntersecting) {\n                                    var assetId = clip.id;\n                                    var artist = clip.filmMakerDisplayName || clip.artistName;\n                                    var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                                    var asset_type = null;\n                                    if(\"footage\" == 'footage') {\n                                        asset_type = 'footage';\n                                    } else if(\"footage\" == 'templates') {\n                                        asset_type = 'template';\n                                    }\n                                    analytics.track(\"media viewed\", {\n                                        asset_id: assetId || null,\n                                        asset_type: asset_type || null,\n                                        click_source: 'player',\n                                        artist: artist || null,\n                                        title: title || null,\n                                        genre: null,\n                                        ...special_data,\n                                    });\n                                    observer.unobserve(entry.target);\n                                }\n                            });\n                        }, {\n                            threshold: 0.5\n                        });\n                        observer.observe($videoElement[0]);\n\n                        \/* media downloaded *\/\n                        $videoElement.closest('.clipContainer').find('.clipName').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n                        $videoElement.closest('.clipContainer').find('.clipDownload').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/\/ check screen size\n                        var mobileScreen = window.matchMedia('(max-width: 767px)');\n                        if (mobileScreen.matches) { \/\/ mobile\n                            const observer = new IntersectionObserver(function(entries) {\n                                entries.forEach(entry => {\n                                    if (entry.isIntersecting) {\n                                        player.play(); \/\/ Play the video when it enters the viewport\n                                    } else {\n                                        player.pause(); \/\/ Pause the video when it goes out of the viewport\n                                    }\n                                });\n                            });\n                            observer.observe(videoElement);\n                        } else { \/\/ desktop\n                            clipContainer.on('mouseenter', function() {\n                                player.play();\n                            });\n\n                            clipContainer.on('mouseleave', function() {\n                                player.pause();\n                            });\n                        }\n\n                    }\n                    if(\"97682\" !== '') { \/\/ if this is a request for a specific clip by id - then break out of loop after first time bc it's not an array\n                        return false;\n                    }\n                });\n            }\n\n        });\n    <\/script>\n\n    \n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400;\">Why did the popularity of Film Photography decline?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">With the invention of <\/span><a href=\"https:\/\/artlist.io\/blog\/mirrorless-vs-dslr\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">digital cameras<\/span><\/a><span style=\"font-weight: 400;\">, analog photography lost popularity among professionals and hobbyists. There are many reasons that photographers turned to a digital process, but it is mainly due to convenience and cost.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">DSLR cameras allowed photographers to take high-quality images en masse, with the average 32 GB SD card holding over 20,000 JPEG images. These photos can be reviewed instantly, and unlike the lengthy film development time, digital images can be captured in just a few minutes.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Along with the speed and cost-effectiveness of the DSLR camera came a wealth of photo editing software, allowing photographers to manipulate and adjust their images long after the photo had been taken.\u00a0<\/span><\/p>\n\n    <div class=\"clipsContainer\" id=\"69d056a4a2f5f\"><\/div>\n\n    <script>\n        jQuery(document).ready(function($) {\n\n            if(\"footage\" == 'footage') {\n                if(\"698421\" == '') { \/\/ if this is a request for multiple clips by attributes\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query ClipList($page: Int, $sortType: Int, $categoryIds: String, $searchTerm: String) {\n\t\t\t\t\t\t\t\tclipList(page: $page, sortType: $sortType, categoryIds: $categoryIds, searchTerm: $searchTerm) {\n\t\t\t\t\t\t\t\t  exactResults  {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"page\": 1,\n\t\t\t\t\t\t\t\t\"sortType\": 1,\n\t\t\t\t\t\t\t\t\"categoryIds\": null,\n\t\t\t\t\t\t\t\t\"searchTerm\": \"\"\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('footage list: ', res);\n                            var data = res.data.clipList.exactResults;\n                            if ($(\"#69d056a4a2f5f\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a2f5f\");\n                            } else if ($(\"#69d056a4a2f5f\").length && data.length == 0) {\n                                $(\"#69d056a4a2f5f\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                } else if(\"698421\" !== '') { \/\/ if this is a request for a specific clip by id\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Clip($clipId: Int!) {\n\t\t\t\t\t\t\t\tclip(id: $clipId) {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"clipId\": 698421\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific footage: ', res);\n                            var data = res.data.clip;\n                            if ($(\"#69d056a4a2f5f\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a2f5f\");\n                            } else if ($(\"#69d056a4a2f5f\").length && data.length == '') {\n                                $(\"#69d056a4a2f5f\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            } else if(\"footage\" == 'templates') {\n                if(\"698421\" === '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query TemplatesList($payload: TemplatesByTermSearchPayload!) {\n                                templatesList(payload: $payload) {\n                                    nameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n                                }\n                            }`,\n                            variables: `{\n                                \"payload\": {\n                                    \"page\": 1,\n                                    \"take\": 2,\n                                    \"sortBy\": \"1\",\n                                    \"categories\": null,\n                                    \"searchTerms\": \"\"\n                                }\n                            }`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('templates list: ', res);\n                            var data = res.data.templatesList;\n                            if ($(\"#69d056a4a2f5f\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a2f5f\");\n                            } else if ($(\"#69d056a4a2f5f\").length && data.length == 0) {\n                                $(\"#69d056a4a2f5f\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                    } else if(\"698421\" !== '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Template($ids: [String!]!, $page: Int!, $take: Int!) {\n\t\t\t\t\t\t\t\ttemplatesByIds(ids: $ids, page: $page, take: $take) {\n\t\t\t\t\t\t\t\t\tnameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n                                \"ids\": [\"698421\"],\n                                \"page\": 1,\n                                \"take\": 1\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific template: ', res);\n                            var data = res.data.templatesByIds[0];\n                            if ($(\"#69d056a4a2f5f\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a2f5f\");\n                            } else if ($(\"#69d056a4a2f5f\").length && data.length == '') {\n                                $(\"#69d056a4a2f5f\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            }\n\n            function createClipsGrid(data, clipsContainerId){\n                const container = $(\"#\" + clipsContainerId);\n                let playerSrc = '';\n\n                $.each(data, function(index, clip) {\n                    if(\"698421\" !== '') { \/\/ if this is a request for a specific clip by id - then the data is not an array of clips but only one clip and that's why the \"clip\" variable is actually the \"data\"\n                        index = 0\n                        clip = data;\n                    }\n                    if ((index) < 2) {\n                        \/\/ clip container\n                        const clipContainer = $(\"<div>\").addClass(\"clipContainer \");\n                        \/\/ new badge\n                        if (clip.isNew) {\n                            clipContainer.append('<span class=\"isNewBadge\">NEW<\/span>');\n                        }\n                        \/\/ video\n                        let videoElement = document.createElement('video');\n                        videoElement.setAttribute('playsinline', '');\n                        videoElement.setAttribute('webkit-playsinline', '');\n                        videoElement.setAttribute('x5-playsinline', '');\n                        videoElement.setAttribute('preload', 'auto');\n                        \n                        clipContainer.append(videoElement);\n                        \/\/ clip name and artist name\n                        let clipName = '';\n                        let artistName = '';\n                        if(\"footage\" == 'footage') {\n                            clipName = clip.clipNameForUrl;\n                            clipName = clipName.replace(\/-\/g, \", \");\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clipName);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.filmMakerDisplayName + '');\n                        } else if(\"footage\" == 'templates') {\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clip.name);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.artistName + '');\n                        }\n                        const clipNames = $(\"<span>\").addClass(\"clipNames\").append(clipName, artistName);\n                        \/\/ download button\n                        let clipDownload = '';\n                        if(\"footage\" == 'footage') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        } else if(\"footage\" == 'templates') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        }\n                        \/\/ overlay\n                        const overlay = $(\"<div>\").addClass(\"overlay\");\n                        overlay.append(clipNames, clipDownload);\n\n                        \/\/ APPEND ALL ELEMENTS INTO AUDIO PLAYER CONTAINER\n                        clipContainer.append(videoElement, overlay);\n\n                        \/\/ if this is a preview of only one specific clip (by id)\n                        if(\"698421\" !== '') {\n                            $(container).addClass(\"clipContainerSingular\")\n                        }\n\n                        \/\/ append audio player container into main playlist container\n                        container.append(clipContainer[0]);\n\n                        if(\"footage\" == 'footage') {\n                            playerSrc =  clip.clipPath;\n                        } else if(\"footage\" == 'templates') {\n                            playerSrc =  clip.previewVideoFileUrl;\n                        }\n                        const player = videojs(videoElement, {\n                            muted: true,\n                            autoplay: true,\n                        });\n\n                        player.src({\n                            src: playerSrc,\n                            type: 'application\/x-mpegURL'\n                        });\n\n                        \/* SEGMENT EVENTS *\/\n                        const special_data = getProps();\n\n                        \/* media played *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('play', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media played\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media paused *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('pause', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media paused\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media viewed *\/\n                        const observer = new IntersectionObserver(entries => {\n                            entries.forEach(entry => {\n                                if (entry.isIntersecting) {\n                                    var assetId = clip.id;\n                                    var artist = clip.filmMakerDisplayName || clip.artistName;\n                                    var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                                    var asset_type = null;\n                                    if(\"footage\" == 'footage') {\n                                        asset_type = 'footage';\n                                    } else if(\"footage\" == 'templates') {\n                                        asset_type = 'template';\n                                    }\n                                    analytics.track(\"media viewed\", {\n                                        asset_id: assetId || null,\n                                        asset_type: asset_type || null,\n                                        click_source: 'player',\n                                        artist: artist || null,\n                                        title: title || null,\n                                        genre: null,\n                                        ...special_data,\n                                    });\n                                    observer.unobserve(entry.target);\n                                }\n                            });\n                        }, {\n                            threshold: 0.5\n                        });\n                        observer.observe($videoElement[0]);\n\n                        \/* media downloaded *\/\n                        $videoElement.closest('.clipContainer').find('.clipName').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n                        $videoElement.closest('.clipContainer').find('.clipDownload').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/\/ check screen size\n                        var mobileScreen = window.matchMedia('(max-width: 767px)');\n                        if (mobileScreen.matches) { \/\/ mobile\n                            const observer = new IntersectionObserver(function(entries) {\n                                entries.forEach(entry => {\n                                    if (entry.isIntersecting) {\n                                        player.play(); \/\/ Play the video when it enters the viewport\n                                    } else {\n                                        player.pause(); \/\/ Pause the video when it goes out of the viewport\n                                    }\n                                });\n                            });\n                            observer.observe(videoElement);\n                        } else { \/\/ desktop\n                            clipContainer.on('mouseenter', function() {\n                                player.play();\n                            });\n\n                            clipContainer.on('mouseleave', function() {\n                                player.pause();\n                            });\n                        }\n\n                    }\n                    if(\"698421\" !== '') { \/\/ if this is a request for a specific clip by id - then break out of loop after first time bc it's not an array\n                        return false;\n                    }\n                });\n            }\n\n        });\n    <\/script>\n\n    \n<h2><span style=\"font-weight: 400;\">6 reasons why film photography is popular again<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Over the last few years, there has been a rise in the number of professional photographers and hobbyists using a film format for their images. Whether it&#8217;s clothes, vinyl records, cars, or photography gear, younger generations have always found nostalgia value in returning to retro methods.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>1. Skills<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">There is no doubt that to use film photography, you need to be skilled at taking pictures. Digital cameras have allowed anyone to consider themselves a photographer, and with the many auto settings digital cameras have, you can get a pretty good shot without much thought.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Film photography requires patience and a deep understanding of your kit and the development process. A standard roll of 35mm film only has 36 photos, so film photographers must ensure each one counts.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">There is also no way to live-review your photos, so it can be days or even weeks before you see the final result, and unless you digitize your photos, there are few things you can do to edit the image after it has been developed.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>2. Aesthetic<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Aesthetically, film photography does look different from their digital counterparts, and much of this comes down to how the photographer shoots the subject. With the disposable nature of digital film, photographers can snap away being pretty sure they&#8217;ve got at least one good shot. In fact, most professional photographers using a digital format will take hundreds of photos to result in a few good ones.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Film photographers need to be more deliberate \u2013 there are a limited number of photos on a reel, and every time they take a picture, it costs them time and money to develop. As a result, film photographers will take more time to ensure that the lighting, exposure, shutter speed, and composition are perfect before clicking the button.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Film photography also includes film grain and dust, which is lost in digital formats. While you can add noise and grain into digital pictures in the edit to create a similar effect, the dust and scratches picked up by a film camera create a warm and textured feel that isn&#8217;t replicable.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>3. Exclusivity<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Film photography has an element of exclusivity that digital photography lacks. When you take a digital photo, you can easily copy, share, edit, and archive it. Film photography results in one negative from which all copies are created \u2013 if you lose or destroy your film negatives, you&#8217;ve lost all of the images.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">In general terms, copyright and ownership of film photography are easier to prove, as the negative will usually remain with the copyright owner, and any duplicates will need to come from the negatives. As with anything online, digital photography is effortless to duplicate and reuse, and it can be hard to track down people using or reselling your work.<\/span><\/p>\n\n    <div class=\"clipsContainer\" id=\"69d056a4a3007\"><\/div>\n\n    <script>\n        jQuery(document).ready(function($) {\n\n            if(\"footage\" == 'footage') {\n                if(\"135042\" == '') { \/\/ if this is a request for multiple clips by attributes\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query ClipList($page: Int, $sortType: Int, $categoryIds: String, $searchTerm: String) {\n\t\t\t\t\t\t\t\tclipList(page: $page, sortType: $sortType, categoryIds: $categoryIds, searchTerm: $searchTerm) {\n\t\t\t\t\t\t\t\t  exactResults  {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"page\": 1,\n\t\t\t\t\t\t\t\t\"sortType\": 1,\n\t\t\t\t\t\t\t\t\"categoryIds\": null,\n\t\t\t\t\t\t\t\t\"searchTerm\": \"\"\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('footage list: ', res);\n                            var data = res.data.clipList.exactResults;\n                            if ($(\"#69d056a4a3007\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a3007\");\n                            } else if ($(\"#69d056a4a3007\").length && data.length == 0) {\n                                $(\"#69d056a4a3007\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                } else if(\"135042\" !== '') { \/\/ if this is a request for a specific clip by id\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Clip($clipId: Int!) {\n\t\t\t\t\t\t\t\tclip(id: $clipId) {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"clipId\": 135042\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific footage: ', res);\n                            var data = res.data.clip;\n                            if ($(\"#69d056a4a3007\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a3007\");\n                            } else if ($(\"#69d056a4a3007\").length && data.length == '') {\n                                $(\"#69d056a4a3007\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            } else if(\"footage\" == 'templates') {\n                if(\"135042\" === '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query TemplatesList($payload: TemplatesByTermSearchPayload!) {\n                                templatesList(payload: $payload) {\n                                    nameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n                                }\n                            }`,\n                            variables: `{\n                                \"payload\": {\n                                    \"page\": 1,\n                                    \"take\": 2,\n                                    \"sortBy\": \"1\",\n                                    \"categories\": null,\n                                    \"searchTerms\": \"\"\n                                }\n                            }`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('templates list: ', res);\n                            var data = res.data.templatesList;\n                            if ($(\"#69d056a4a3007\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a3007\");\n                            } else if ($(\"#69d056a4a3007\").length && data.length == 0) {\n                                $(\"#69d056a4a3007\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                    } else if(\"135042\" !== '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Template($ids: [String!]!, $page: Int!, $take: Int!) {\n\t\t\t\t\t\t\t\ttemplatesByIds(ids: $ids, page: $page, take: $take) {\n\t\t\t\t\t\t\t\t\tnameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n                                \"ids\": [\"135042\"],\n                                \"page\": 1,\n                                \"take\": 1\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific template: ', res);\n                            var data = res.data.templatesByIds[0];\n                            if ($(\"#69d056a4a3007\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a3007\");\n                            } else if ($(\"#69d056a4a3007\").length && data.length == '') {\n                                $(\"#69d056a4a3007\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            }\n\n            function createClipsGrid(data, clipsContainerId){\n                const container = $(\"#\" + clipsContainerId);\n                let playerSrc = '';\n\n                $.each(data, function(index, clip) {\n                    if(\"135042\" !== '') { \/\/ if this is a request for a specific clip by id - then the data is not an array of clips but only one clip and that's why the \"clip\" variable is actually the \"data\"\n                        index = 0\n                        clip = data;\n                    }\n                    if ((index) < 2) {\n                        \/\/ clip container\n                        const clipContainer = $(\"<div>\").addClass(\"clipContainer \");\n                        \/\/ new badge\n                        if (clip.isNew) {\n                            clipContainer.append('<span class=\"isNewBadge\">NEW<\/span>');\n                        }\n                        \/\/ video\n                        let videoElement = document.createElement('video');\n                        videoElement.setAttribute('playsinline', '');\n                        videoElement.setAttribute('webkit-playsinline', '');\n                        videoElement.setAttribute('x5-playsinline', '');\n                        videoElement.setAttribute('preload', 'auto');\n                        \n                        clipContainer.append(videoElement);\n                        \/\/ clip name and artist name\n                        let clipName = '';\n                        let artistName = '';\n                        if(\"footage\" == 'footage') {\n                            clipName = clip.clipNameForUrl;\n                            clipName = clipName.replace(\/-\/g, \", \");\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clipName);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.filmMakerDisplayName + '');\n                        } else if(\"footage\" == 'templates') {\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clip.name);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.artistName + '');\n                        }\n                        const clipNames = $(\"<span>\").addClass(\"clipNames\").append(clipName, artistName);\n                        \/\/ download button\n                        let clipDownload = '';\n                        if(\"footage\" == 'footage') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        } else if(\"footage\" == 'templates') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        }\n                        \/\/ overlay\n                        const overlay = $(\"<div>\").addClass(\"overlay\");\n                        overlay.append(clipNames, clipDownload);\n\n                        \/\/ APPEND ALL ELEMENTS INTO AUDIO PLAYER CONTAINER\n                        clipContainer.append(videoElement, overlay);\n\n                        \/\/ if this is a preview of only one specific clip (by id)\n                        if(\"135042\" !== '') {\n                            $(container).addClass(\"clipContainerSingular\")\n                        }\n\n                        \/\/ append audio player container into main playlist container\n                        container.append(clipContainer[0]);\n\n                        if(\"footage\" == 'footage') {\n                            playerSrc =  clip.clipPath;\n                        } else if(\"footage\" == 'templates') {\n                            playerSrc =  clip.previewVideoFileUrl;\n                        }\n                        const player = videojs(videoElement, {\n                            muted: true,\n                            autoplay: true,\n                        });\n\n                        player.src({\n                            src: playerSrc,\n                            type: 'application\/x-mpegURL'\n                        });\n\n                        \/* SEGMENT EVENTS *\/\n                        const special_data = getProps();\n\n                        \/* media played *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('play', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media played\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media paused *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('pause', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media paused\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media viewed *\/\n                        const observer = new IntersectionObserver(entries => {\n                            entries.forEach(entry => {\n                                if (entry.isIntersecting) {\n                                    var assetId = clip.id;\n                                    var artist = clip.filmMakerDisplayName || clip.artistName;\n                                    var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                                    var asset_type = null;\n                                    if(\"footage\" == 'footage') {\n                                        asset_type = 'footage';\n                                    } else if(\"footage\" == 'templates') {\n                                        asset_type = 'template';\n                                    }\n                                    analytics.track(\"media viewed\", {\n                                        asset_id: assetId || null,\n                                        asset_type: asset_type || null,\n                                        click_source: 'player',\n                                        artist: artist || null,\n                                        title: title || null,\n                                        genre: null,\n                                        ...special_data,\n                                    });\n                                    observer.unobserve(entry.target);\n                                }\n                            });\n                        }, {\n                            threshold: 0.5\n                        });\n                        observer.observe($videoElement[0]);\n\n                        \/* media downloaded *\/\n                        $videoElement.closest('.clipContainer').find('.clipName').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n                        $videoElement.closest('.clipContainer').find('.clipDownload').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/\/ check screen size\n                        var mobileScreen = window.matchMedia('(max-width: 767px)');\n                        if (mobileScreen.matches) { \/\/ mobile\n                            const observer = new IntersectionObserver(function(entries) {\n                                entries.forEach(entry => {\n                                    if (entry.isIntersecting) {\n                                        player.play(); \/\/ Play the video when it enters the viewport\n                                    } else {\n                                        player.pause(); \/\/ Pause the video when it goes out of the viewport\n                                    }\n                                });\n                            });\n                            observer.observe(videoElement);\n                        } else { \/\/ desktop\n                            clipContainer.on('mouseenter', function() {\n                                player.play();\n                            });\n\n                            clipContainer.on('mouseleave', function() {\n                                player.pause();\n                            });\n                        }\n\n                    }\n                    if(\"135042\" !== '') { \/\/ if this is a request for a specific clip by id - then break out of loop after first time bc it's not an array\n                        return false;\n                    }\n                });\n            }\n\n        });\n    <\/script>\n\n    \n<h3><b>4. Kit Costs<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The invention of digital photography made the format more cost-effective for photographers. A DSLR camera and lens kit may cost several thousand dollars, but if treated well, it can last a long time. Beyond the taking of the photos, there are no development costs involved with digital photography.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">While DSLR cameras might have longevity and reduce production costs, many film photographers are turning to vintage cameras for their work. You can find many cameras at vintage and thrift stores if you know how to clean and fix up a film camera.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Unfortunately, while you can pick up the hardware relatively cheaply, the film reel and development can be pretty costly. While companies such as Kodak still make 35mm film photo reels, the lack of demand for the format has skyrocketed costs.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>5. The Process<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">While the result of film photography might seem similar to digital photography, the process is incredibly different. When you snap a picture on a digital camera, it is available for review immediately and can be quickly transferred to a tablet or computer for editing. With film cameras, you only get to see your final composition once the time-consuming film development has been done.\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">When you take a photo on film, the camera&#8217;s shutter opens to expose the reel to light, burning the image onto the film. As the film is light-sensitive, you need to be super careful not to get any more light on the reel, so film development is done in darkness.<\/span><\/p>\n\n    <div class=\"clipsContainer\" id=\"69d056a4a30ac\"><\/div>\n\n    <script>\n        jQuery(document).ready(function($) {\n\n            if(\"footage\" == 'footage') {\n                if(\"573731\" == '') { \/\/ if this is a request for multiple clips by attributes\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query ClipList($page: Int, $sortType: Int, $categoryIds: String, $searchTerm: String) {\n\t\t\t\t\t\t\t\tclipList(page: $page, sortType: $sortType, categoryIds: $categoryIds, searchTerm: $searchTerm) {\n\t\t\t\t\t\t\t\t  exactResults  {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"page\": 1,\n\t\t\t\t\t\t\t\t\"sortType\": 1,\n\t\t\t\t\t\t\t\t\"categoryIds\": null,\n\t\t\t\t\t\t\t\t\"searchTerm\": \"\"\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('footage list: ', res);\n                            var data = res.data.clipList.exactResults;\n                            if ($(\"#69d056a4a30ac\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a30ac\");\n                            } else if ($(\"#69d056a4a30ac\").length && data.length == 0) {\n                                $(\"#69d056a4a30ac\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                } else if(\"573731\" !== '') { \/\/ if this is a request for a specific clip by id\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Clip($clipId: Int!) {\n\t\t\t\t\t\t\t\tclip(id: $clipId) {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"clipId\": 573731\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific footage: ', res);\n                            var data = res.data.clip;\n                            if ($(\"#69d056a4a30ac\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a30ac\");\n                            } else if ($(\"#69d056a4a30ac\").length && data.length == '') {\n                                $(\"#69d056a4a30ac\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            } else if(\"footage\" == 'templates') {\n                if(\"573731\" === '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query TemplatesList($payload: TemplatesByTermSearchPayload!) {\n                                templatesList(payload: $payload) {\n                                    nameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n                                }\n                            }`,\n                            variables: `{\n                                \"payload\": {\n                                    \"page\": 1,\n                                    \"take\": 2,\n                                    \"sortBy\": \"1\",\n                                    \"categories\": null,\n                                    \"searchTerms\": \"\"\n                                }\n                            }`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('templates list: ', res);\n                            var data = res.data.templatesList;\n                            if ($(\"#69d056a4a30ac\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a30ac\");\n                            } else if ($(\"#69d056a4a30ac\").length && data.length == 0) {\n                                $(\"#69d056a4a30ac\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                    } else if(\"573731\" !== '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Template($ids: [String!]!, $page: Int!, $take: Int!) {\n\t\t\t\t\t\t\t\ttemplatesByIds(ids: $ids, page: $page, take: $take) {\n\t\t\t\t\t\t\t\t\tnameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n                                \"ids\": [\"573731\"],\n                                \"page\": 1,\n                                \"take\": 1\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific template: ', res);\n                            var data = res.data.templatesByIds[0];\n                            if ($(\"#69d056a4a30ac\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a30ac\");\n                            } else if ($(\"#69d056a4a30ac\").length && data.length == '') {\n                                $(\"#69d056a4a30ac\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            }\n\n            function createClipsGrid(data, clipsContainerId){\n                const container = $(\"#\" + clipsContainerId);\n                let playerSrc = '';\n\n                $.each(data, function(index, clip) {\n                    if(\"573731\" !== '') { \/\/ if this is a request for a specific clip by id - then the data is not an array of clips but only one clip and that's why the \"clip\" variable is actually the \"data\"\n                        index = 0\n                        clip = data;\n                    }\n                    if ((index) < 2) {\n                        \/\/ clip container\n                        const clipContainer = $(\"<div>\").addClass(\"clipContainer \");\n                        \/\/ new badge\n                        if (clip.isNew) {\n                            clipContainer.append('<span class=\"isNewBadge\">NEW<\/span>');\n                        }\n                        \/\/ video\n                        let videoElement = document.createElement('video');\n                        videoElement.setAttribute('playsinline', '');\n                        videoElement.setAttribute('webkit-playsinline', '');\n                        videoElement.setAttribute('x5-playsinline', '');\n                        videoElement.setAttribute('preload', 'auto');\n                        \n                        clipContainer.append(videoElement);\n                        \/\/ clip name and artist name\n                        let clipName = '';\n                        let artistName = '';\n                        if(\"footage\" == 'footage') {\n                            clipName = clip.clipNameForUrl;\n                            clipName = clipName.replace(\/-\/g, \", \");\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clipName);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.filmMakerDisplayName + '');\n                        } else if(\"footage\" == 'templates') {\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clip.name);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.artistName + '');\n                        }\n                        const clipNames = $(\"<span>\").addClass(\"clipNames\").append(clipName, artistName);\n                        \/\/ download button\n                        let clipDownload = '';\n                        if(\"footage\" == 'footage') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        } else if(\"footage\" == 'templates') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        }\n                        \/\/ overlay\n                        const overlay = $(\"<div>\").addClass(\"overlay\");\n                        overlay.append(clipNames, clipDownload);\n\n                        \/\/ APPEND ALL ELEMENTS INTO AUDIO PLAYER CONTAINER\n                        clipContainer.append(videoElement, overlay);\n\n                        \/\/ if this is a preview of only one specific clip (by id)\n                        if(\"573731\" !== '') {\n                            $(container).addClass(\"clipContainerSingular\")\n                        }\n\n                        \/\/ append audio player container into main playlist container\n                        container.append(clipContainer[0]);\n\n                        if(\"footage\" == 'footage') {\n                            playerSrc =  clip.clipPath;\n                        } else if(\"footage\" == 'templates') {\n                            playerSrc =  clip.previewVideoFileUrl;\n                        }\n                        const player = videojs(videoElement, {\n                            muted: true,\n                            autoplay: true,\n                        });\n\n                        player.src({\n                            src: playerSrc,\n                            type: 'application\/x-mpegURL'\n                        });\n\n                        \/* SEGMENT EVENTS *\/\n                        const special_data = getProps();\n\n                        \/* media played *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('play', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media played\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media paused *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('pause', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media paused\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media viewed *\/\n                        const observer = new IntersectionObserver(entries => {\n                            entries.forEach(entry => {\n                                if (entry.isIntersecting) {\n                                    var assetId = clip.id;\n                                    var artist = clip.filmMakerDisplayName || clip.artistName;\n                                    var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                                    var asset_type = null;\n                                    if(\"footage\" == 'footage') {\n                                        asset_type = 'footage';\n                                    } else if(\"footage\" == 'templates') {\n                                        asset_type = 'template';\n                                    }\n                                    analytics.track(\"media viewed\", {\n                                        asset_id: assetId || null,\n                                        asset_type: asset_type || null,\n                                        click_source: 'player',\n                                        artist: artist || null,\n                                        title: title || null,\n                                        genre: null,\n                                        ...special_data,\n                                    });\n                                    observer.unobserve(entry.target);\n                                }\n                            });\n                        }, {\n                            threshold: 0.5\n                        });\n                        observer.observe($videoElement[0]);\n\n                        \/* media downloaded *\/\n                        $videoElement.closest('.clipContainer').find('.clipName').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n                        $videoElement.closest('.clipContainer').find('.clipDownload').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/\/ check screen size\n                        var mobileScreen = window.matchMedia('(max-width: 767px)');\n                        if (mobileScreen.matches) { \/\/ mobile\n                            const observer = new IntersectionObserver(function(entries) {\n                                entries.forEach(entry => {\n                                    if (entry.isIntersecting) {\n                                        player.play(); \/\/ Play the video when it enters the viewport\n                                    } else {\n                                        player.pause(); \/\/ Pause the video when it goes out of the viewport\n                                    }\n                                });\n                            });\n                            observer.observe(videoElement);\n                        } else { \/\/ desktop\n                            clipContainer.on('mouseenter', function() {\n                                player.play();\n                            });\n\n                            clipContainer.on('mouseleave', function() {\n                                player.pause();\n                            });\n                        }\n\n                    }\n                    if(\"573731\" !== '') { \/\/ if this is a request for a specific clip by id - then break out of loop after first time bc it's not an array\n                        return false;\n                    }\n                });\n            }\n\n        });\n    <\/script>\n\n    \n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Developing a film reel involves soaking and bathing your negatives in chemicals before exposing the images onto photographic paper. The photographic paper then goes through its own chemical baths to fix the image. A single mistake during the development process can ruin all of your hard work and destroy your photos. When you get it right, however, the process is incredibly rewarding.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n\n    <div class=\"clipsContainer\" id=\"69d056a4a3144\"><\/div>\n\n    <script>\n        jQuery(document).ready(function($) {\n\n            if(\"footage\" == 'footage') {\n                if(\"97675\" == '') { \/\/ if this is a request for multiple clips by attributes\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query ClipList($page: Int, $sortType: Int, $categoryIds: String, $searchTerm: String) {\n\t\t\t\t\t\t\t\tclipList(page: $page, sortType: $sortType, categoryIds: $categoryIds, searchTerm: $searchTerm) {\n\t\t\t\t\t\t\t\t  exactResults  {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"page\": 1,\n\t\t\t\t\t\t\t\t\"sortType\": 1,\n\t\t\t\t\t\t\t\t\"categoryIds\": null,\n\t\t\t\t\t\t\t\t\"searchTerm\": \"\"\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('footage list: ', res);\n                            var data = res.data.clipList.exactResults;\n                            if ($(\"#69d056a4a3144\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a3144\");\n                            } else if ($(\"#69d056a4a3144\").length && data.length == 0) {\n                                $(\"#69d056a4a3144\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                } else if(\"97675\" !== '') { \/\/ if this is a request for a specific clip by id\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Clip($clipId: Int!) {\n\t\t\t\t\t\t\t\tclip(id: $clipId) {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"clipId\": 97675\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific footage: ', res);\n                            var data = res.data.clip;\n                            if ($(\"#69d056a4a3144\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a3144\");\n                            } else if ($(\"#69d056a4a3144\").length && data.length == '') {\n                                $(\"#69d056a4a3144\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            } else if(\"footage\" == 'templates') {\n                if(\"97675\" === '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query TemplatesList($payload: TemplatesByTermSearchPayload!) {\n                                templatesList(payload: $payload) {\n                                    nameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n                                }\n                            }`,\n                            variables: `{\n                                \"payload\": {\n                                    \"page\": 1,\n                                    \"take\": 2,\n                                    \"sortBy\": \"1\",\n                                    \"categories\": null,\n                                    \"searchTerms\": \"\"\n                                }\n                            }`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('templates list: ', res);\n                            var data = res.data.templatesList;\n                            if ($(\"#69d056a4a3144\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a3144\");\n                            } else if ($(\"#69d056a4a3144\").length && data.length == 0) {\n                                $(\"#69d056a4a3144\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                    } else if(\"97675\" !== '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Template($ids: [String!]!, $page: Int!, $take: Int!) {\n\t\t\t\t\t\t\t\ttemplatesByIds(ids: $ids, page: $page, take: $take) {\n\t\t\t\t\t\t\t\t\tnameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n                                \"ids\": [\"97675\"],\n                                \"page\": 1,\n                                \"take\": 1\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific template: ', res);\n                            var data = res.data.templatesByIds[0];\n                            if ($(\"#69d056a4a3144\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a3144\");\n                            } else if ($(\"#69d056a4a3144\").length && data.length == '') {\n                                $(\"#69d056a4a3144\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            }\n\n            function createClipsGrid(data, clipsContainerId){\n                const container = $(\"#\" + clipsContainerId);\n                let playerSrc = '';\n\n                $.each(data, function(index, clip) {\n                    if(\"97675\" !== '') { \/\/ if this is a request for a specific clip by id - then the data is not an array of clips but only one clip and that's why the \"clip\" variable is actually the \"data\"\n                        index = 0\n                        clip = data;\n                    }\n                    if ((index) < 2) {\n                        \/\/ clip container\n                        const clipContainer = $(\"<div>\").addClass(\"clipContainer \");\n                        \/\/ new badge\n                        if (clip.isNew) {\n                            clipContainer.append('<span class=\"isNewBadge\">NEW<\/span>');\n                        }\n                        \/\/ video\n                        let videoElement = document.createElement('video');\n                        videoElement.setAttribute('playsinline', '');\n                        videoElement.setAttribute('webkit-playsinline', '');\n                        videoElement.setAttribute('x5-playsinline', '');\n                        videoElement.setAttribute('preload', 'auto');\n                        \n                        clipContainer.append(videoElement);\n                        \/\/ clip name and artist name\n                        let clipName = '';\n                        let artistName = '';\n                        if(\"footage\" == 'footage') {\n                            clipName = clip.clipNameForUrl;\n                            clipName = clipName.replace(\/-\/g, \", \");\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clipName);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.filmMakerDisplayName + '');\n                        } else if(\"footage\" == 'templates') {\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clip.name);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.artistName + '');\n                        }\n                        const clipNames = $(\"<span>\").addClass(\"clipNames\").append(clipName, artistName);\n                        \/\/ download button\n                        let clipDownload = '';\n                        if(\"footage\" == 'footage') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        } else if(\"footage\" == 'templates') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        }\n                        \/\/ overlay\n                        const overlay = $(\"<div>\").addClass(\"overlay\");\n                        overlay.append(clipNames, clipDownload);\n\n                        \/\/ APPEND ALL ELEMENTS INTO AUDIO PLAYER CONTAINER\n                        clipContainer.append(videoElement, overlay);\n\n                        \/\/ if this is a preview of only one specific clip (by id)\n                        if(\"97675\" !== '') {\n                            $(container).addClass(\"clipContainerSingular\")\n                        }\n\n                        \/\/ append audio player container into main playlist container\n                        container.append(clipContainer[0]);\n\n                        if(\"footage\" == 'footage') {\n                            playerSrc =  clip.clipPath;\n                        } else if(\"footage\" == 'templates') {\n                            playerSrc =  clip.previewVideoFileUrl;\n                        }\n                        const player = videojs(videoElement, {\n                            muted: true,\n                            autoplay: true,\n                        });\n\n                        player.src({\n                            src: playerSrc,\n                            type: 'application\/x-mpegURL'\n                        });\n\n                        \/* SEGMENT EVENTS *\/\n                        const special_data = getProps();\n\n                        \/* media played *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('play', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media played\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media paused *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('pause', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media paused\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media viewed *\/\n                        const observer = new IntersectionObserver(entries => {\n                            entries.forEach(entry => {\n                                if (entry.isIntersecting) {\n                                    var assetId = clip.id;\n                                    var artist = clip.filmMakerDisplayName || clip.artistName;\n                                    var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                                    var asset_type = null;\n                                    if(\"footage\" == 'footage') {\n                                        asset_type = 'footage';\n                                    } else if(\"footage\" == 'templates') {\n                                        asset_type = 'template';\n                                    }\n                                    analytics.track(\"media viewed\", {\n                                        asset_id: assetId || null,\n                                        asset_type: asset_type || null,\n                                        click_source: 'player',\n                                        artist: artist || null,\n                                        title: title || null,\n                                        genre: null,\n                                        ...special_data,\n                                    });\n                                    observer.unobserve(entry.target);\n                                }\n                            });\n                        }, {\n                            threshold: 0.5\n                        });\n                        observer.observe($videoElement[0]);\n\n                        \/* media downloaded *\/\n                        $videoElement.closest('.clipContainer').find('.clipName').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n                        $videoElement.closest('.clipContainer').find('.clipDownload').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/\/ check screen size\n                        var mobileScreen = window.matchMedia('(max-width: 767px)');\n                        if (mobileScreen.matches) { \/\/ mobile\n                            const observer = new IntersectionObserver(function(entries) {\n                                entries.forEach(entry => {\n                                    if (entry.isIntersecting) {\n                                        player.play(); \/\/ Play the video when it enters the viewport\n                                    } else {\n                                        player.pause(); \/\/ Pause the video when it goes out of the viewport\n                                    }\n                                });\n                            });\n                            observer.observe(videoElement);\n                        } else { \/\/ desktop\n                            clipContainer.on('mouseenter', function() {\n                                player.play();\n                            });\n\n                            clipContainer.on('mouseleave', function() {\n                                player.pause();\n                            });\n                        }\n\n                    }\n                    if(\"97675\" !== '') { \/\/ if this is a request for a specific clip by id - then break out of loop after first time bc it's not an array\n                        return false;\n                    }\n                });\n            }\n\n        });\n    <\/script>\n\n    \n<h3><b>6. Fun<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Film photography is fun, especially for creatives who want to challenge themselves. Digital photography is a disposable medium \u2013 you have limitless space to take photos and can review and delete bad shots as you go. Shooting on film requires patience, skill, and commitment, but many photographers find the process rewarding.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Whether you&#8217;re developing the photos yourself or are sending the film rolls to be developed for you, there can be quite a wait to see your images. However, when the process is over, you will have physical prints that you can hold in your hand, a feeling that digital photography will never be able to reproduce.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">There is a lot to love about the technique and results of analog film photography. For beginners, there might be a steep learning curve when using the kit, and the costs can be limiting. However, if you&#8217;re passionate about cinematic photography and are committed to the art form, film photography can be a hugely rewarding and fun way to capture the world around you.<\/span><\/p>\n<p>Check out Artist&#8217;s <a href=\"https:\/\/artlist.io\/stock-footage\/search?terms=film%20photography\" target=\"_blank\" rel=\"noopener\">film photography footage collection<\/a><\/p>\n\n    <div class=\"clipsContainer\" id=\"69d056a4a31f1\"><\/div>\n\n    <script>\n        jQuery(document).ready(function($) {\n\n            if(\"footage\" == 'footage') {\n                if(\"\" == '') { \/\/ if this is a request for multiple clips by attributes\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query ClipList($page: Int, $sortType: Int, $categoryIds: String, $searchTerm: String) {\n\t\t\t\t\t\t\t\tclipList(page: $page, sortType: $sortType, categoryIds: $categoryIds, searchTerm: $searchTerm) {\n\t\t\t\t\t\t\t\t  exactResults  {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t  }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"page\": 1,\n\t\t\t\t\t\t\t\t\"sortType\": 1,\n\t\t\t\t\t\t\t\t\"categoryIds\": null,\n\t\t\t\t\t\t\t\t\"searchTerm\": \"film photography\"\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('footage list: ', res);\n                            var data = res.data.clipList.exactResults;\n                            if ($(\"#69d056a4a31f1\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a31f1\");\n                            } else if ($(\"#69d056a4a31f1\").length && data.length == 0) {\n                                $(\"#69d056a4a31f1\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                } else if(\"\" !== '') { \/\/ if this is a request for a specific clip by id\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Clip($clipId: Int!) {\n\t\t\t\t\t\t\t\tclip(id: $clipId) {\n\t\t\t\t\t\t\t\t\tclipPath\n\t\t\t\t\t\t\t\t\tclipNameForUrl\n\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\tisNew\n\t\t\t\t\t\t\t\t\tfilmMakerDisplayName\n\t\t\t\t\t\t\t\t\timageUrl\n\t\t\t\t\t\t\t\t\tthumbnailUrl\n\t\t\t\t\t\t\t\t\twidth\n\t\t\t\t\t\t\t\t\tvideoUrl\n\t\t\t\t\t\t\t\t\trawFileExt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n\t\t\t\t\t\t\t\t\"clipId\": \t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific footage: ', res);\n                            var data = res.data.clip;\n                            if ($(\"#69d056a4a31f1\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a31f1\");\n                            } else if ($(\"#69d056a4a31f1\").length && data.length == '') {\n                                $(\"#69d056a4a31f1\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            } else if(\"footage\" == 'templates') {\n                if(\"\" === '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query TemplatesList($payload: TemplatesByTermSearchPayload!) {\n                                templatesList(payload: $payload) {\n                                    nameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n                                }\n                            }`,\n                            variables: `{\n                                \"payload\": {\n                                    \"page\": 1,\n                                    \"take\": 6,\n                                    \"sortBy\": \"1\",\n                                    \"categories\": null,\n                                    \"searchTerms\": \"film photography\"\n                                }\n                            }`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('templates list: ', res);\n                            var data = res.data.templatesList;\n                            if ($(\"#69d056a4a31f1\").length && data.length > 0) {\n                                createClipsGrid(data, \"69d056a4a31f1\");\n                            } else if ($(\"#69d056a4a31f1\").length && data.length == 0) {\n                                $(\"#69d056a4a31f1\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                    } else if(\"\" !== '') {\n                    $.ajax({\n                        method: \"POST\",\n                        url: \"https:\/\/search-api.artlist.me\/v1\/graphql\",\n                        contentType: \"application\/json\",\n                        data: JSON.stringify({\n                            query: `query Template($ids: [String!]!, $page: Int!, $take: Int!) {\n\t\t\t\t\t\t\t\ttemplatesByIds(ids: $ids, page: $page, take: $take) {\n\t\t\t\t\t\t\t\t\tnameForUrl\n                                    id\n                                    name\n                                    isNew\n                                    artistName\n                                    thumbnailUrl\n                                    previewVideoFileUrl\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}`,\n                            variables: `{\n                                \"ids\": [\"\"],\n                                \"page\": 1,\n                                \"take\": 1\n\t\t\t\t\t\t\t}`,\n                        })\n                    }).done(function (res) {\n                        if(res == '') {\n                            console.log('none');\n                        } else {\n                            console.log('specific template: ', res);\n                            var data = res.data.templatesByIds[0];\n                            if ($(\"#69d056a4a31f1\").length && data !== '') {\n                                createClipsGrid(data, \"69d056a4a31f1\");\n                            } else if ($(\"#69d056a4a31f1\").length && data.length == '') {\n                                $(\"#69d056a4a31f1\").empty().append('<div class=\"noClipsError\">No clips were found.<\/div>');\n                            }\n                        }\n                    });\n                }\n            }\n\n            function createClipsGrid(data, clipsContainerId){\n                const container = $(\"#\" + clipsContainerId);\n                let playerSrc = '';\n\n                $.each(data, function(index, clip) {\n                    if(\"\" !== '') { \/\/ if this is a request for a specific clip by id - then the data is not an array of clips but only one clip and that's why the \"clip\" variable is actually the \"data\"\n                        index = 0\n                        clip = data;\n                    }\n                    if ((index) < 6) {\n                        \/\/ clip container\n                        const clipContainer = $(\"<div>\").addClass(\"clipContainer \");\n                        \/\/ new badge\n                        if (clip.isNew) {\n                            clipContainer.append('<span class=\"isNewBadge\">NEW<\/span>');\n                        }\n                        \/\/ video\n                        let videoElement = document.createElement('video');\n                        videoElement.setAttribute('playsinline', '');\n                        videoElement.setAttribute('webkit-playsinline', '');\n                        videoElement.setAttribute('x5-playsinline', '');\n                        videoElement.setAttribute('preload', 'auto');\n                        \n                        clipContainer.append(videoElement);\n                        \/\/ clip name and artist name\n                        let clipName = '';\n                        let artistName = '';\n                        if(\"footage\" == 'footage') {\n                            clipName = clip.clipNameForUrl;\n                            clipName = clipName.replace(\/-\/g, \", \");\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clipName);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.filmMakerDisplayName + '');\n                        } else if(\"footage\" == 'templates') {\n                            clipName = $(\"<a>\").addClass(\"clipName\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").text(clip.name);\n                            artistName = $(\"<div>\").addClass(\"artistName\").text('By ' + clip.artistName + '');\n                        }\n                        const clipNames = $(\"<span>\").addClass(\"clipNames\").append(clipName, artistName);\n                        \/\/ download button\n                        let clipDownload = '';\n                        if(\"footage\" == 'footage') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/stock-footage\/clip\/\" + clip.clipNameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        } else if(\"footage\" == 'templates') {\n                            clipDownload = $(\"<a>\").addClass(\"clipDownload\").attr(\"href\", \"https:\/\/artlist.io\/video-templates\/\" + clip.nameForUrl + \"\/\" + clip.id + \"?download=1&utm_source=blog\").attr(\"target\", \"_blank\").html('<i class=\"icon download white\"><\/i>');\n                        }\n                        \/\/ overlay\n                        const overlay = $(\"<div>\").addClass(\"overlay\");\n                        overlay.append(clipNames, clipDownload);\n\n                        \/\/ APPEND ALL ELEMENTS INTO AUDIO PLAYER CONTAINER\n                        clipContainer.append(videoElement, overlay);\n\n                        \/\/ if this is a preview of only one specific clip (by id)\n                        if(\"\" !== '') {\n                            $(container).addClass(\"clipContainerSingular\")\n                        }\n\n                        \/\/ append audio player container into main playlist container\n                        container.append(clipContainer[0]);\n\n                        if(\"footage\" == 'footage') {\n                            playerSrc =  clip.clipPath;\n                        } else if(\"footage\" == 'templates') {\n                            playerSrc =  clip.previewVideoFileUrl;\n                        }\n                        const player = videojs(videoElement, {\n                            muted: true,\n                            autoplay: true,\n                        });\n\n                        player.src({\n                            src: playerSrc,\n                            type: 'application\/x-mpegURL'\n                        });\n\n                        \/* SEGMENT EVENTS *\/\n                        const special_data = getProps();\n\n                        \/* media played *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('play', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media played\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media paused *\/\n                        var $videoElement = $(videoElement);\n                        $videoElement.on('pause', function() {\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media paused\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/* media viewed *\/\n                        const observer = new IntersectionObserver(entries => {\n                            entries.forEach(entry => {\n                                if (entry.isIntersecting) {\n                                    var assetId = clip.id;\n                                    var artist = clip.filmMakerDisplayName || clip.artistName;\n                                    var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                                    var asset_type = null;\n                                    if(\"footage\" == 'footage') {\n                                        asset_type = 'footage';\n                                    } else if(\"footage\" == 'templates') {\n                                        asset_type = 'template';\n                                    }\n                                    analytics.track(\"media viewed\", {\n                                        asset_id: assetId || null,\n                                        asset_type: asset_type || null,\n                                        click_source: 'player',\n                                        artist: artist || null,\n                                        title: title || null,\n                                        genre: null,\n                                        ...special_data,\n                                    });\n                                    observer.unobserve(entry.target);\n                                }\n                            });\n                        }, {\n                            threshold: 0.5\n                        });\n                        observer.observe($videoElement[0]);\n\n                        \/* media downloaded *\/\n                        $videoElement.closest('.clipContainer').find('.clipName').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n                        $videoElement.closest('.clipContainer').find('.clipDownload').on('click', function() {\n                            var assetId = clip.id;\n                            var artist = clip.filmMakerDisplayName || clip.artistName;\n                            var title = clip.clipNameForUrl ? clip.clipNameForUrl.replace(\/-\/g, \", \") : clip.name;\n                            var asset_type = null;\n                            if(\"footage\" == 'footage') {\n                                asset_type = 'footage';\n                            } else if(\"footage\" == 'templates') {\n                                asset_type = 'template';\n                            }\n                            analytics.track(\"media downloaded\", {\n                                asset_id: assetId || null,\n                                asset_type: asset_type || null,\n                                click_source: 'player',\n                                artist: artist || null,\n                                title: title || null,\n                                genre: null,\n                                ...special_data,\n                            });\n                        });\n\n                        \/\/ check screen size\n                        var mobileScreen = window.matchMedia('(max-width: 767px)');\n                        if (mobileScreen.matches) { \/\/ mobile\n                            const observer = new IntersectionObserver(function(entries) {\n                                entries.forEach(entry => {\n                                    if (entry.isIntersecting) {\n                                        player.play(); \/\/ Play the video when it enters the viewport\n                                    } else {\n                                        player.pause(); \/\/ Pause the video when it goes out of the viewport\n                                    }\n                                });\n                            });\n                            observer.observe(videoElement);\n                        } else { \/\/ desktop\n                            clipContainer.on('mouseenter', function() {\n                                player.play();\n                            });\n\n                            clipContainer.on('mouseleave', function() {\n                                player.pause();\n                            });\n                        }\n\n                    }\n                    if(\"\" !== '') { \/\/ if this is a request for a specific clip by id - then break out of loop after first time bc it's not an array\n                        return false;\n                    }\n                });\n            }\n\n        });\n    <\/script>\n\n    \n","protected":false},"excerpt":{"rendered":"<p>It was nearly 200 years ago that the very first photo was taken, in 1826, by Joseph Nic\u00e9phore Ni\u00e9pce, and the process has changed dramatically since that time. The first commercial cameras were giant machines with delicate plates that required subjects to sit still for up to 30 minutes as the photo was taken. Nowadays, [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":12050,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","footnotes":""},"categories":[5,464],"tags":[548,550,549,547,139,14,295,44],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Film photography - what is it and why it&#039;s becoming so popular<\/title>\n<meta name=\"description\" content=\"Discover the beauty of analog photography with our 6 reasons why film photography is gaining popularity.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Film photography - what is it and why it&#039;s becoming so popular\" \/>\n<meta property=\"og:description\" content=\"Discover the beauty of analog photography with our 6 reasons why film photography is gaining popularity.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/\" \/>\n<meta property=\"og:site_name\" content=\"Artlist Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-29T14:33:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-01T12:31:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2023\/08\/290823-Resurgence-of-Film-photography-quote-from-Peter-McKinnon-share-collection-Blog-cover-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"717\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Chris Suffield\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chris Suffield\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/\"},\"author\":{\"name\":\"Chris Suffield\",\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/#\/schema\/person\/397d693f2006ed012f1efab9571cba05\"},\"headline\":\"6 reasons why film photography is popular again\",\"datePublished\":\"2023-08-29T14:33:36+00:00\",\"dateModified\":\"2024-01-01T12:31:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/\"},\"wordCount\":1342,\"publisher\":{\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/#organization\"},\"keywords\":[\"#35mm\",\"#camera\",\"#darkroom\",\"#film\",\"Camera Lenses\",\"Lighting\",\"Photography\",\"Stock Footage\"],\"articleSection\":[\"Production &amp; Filmmaking\",\"Royalty-Free Footage\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/\",\"url\":\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/\",\"name\":\"Film photography - what is it and why it's becoming so popular\",\"isPartOf\":{\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/#website\"},\"datePublished\":\"2023-08-29T14:33:36+00:00\",\"dateModified\":\"2024-01-01T12:31:08+00:00\",\"description\":\"Discover the beauty of analog photography with our 6 reasons why film photography is gaining popularity.\",\"breadcrumb\":{\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/film-photography\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/new-blog.artlist.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Production &amp; Filmmaking\",\"item\":\"https:\/\/new-blog.artlist.io\/blog\/production-filmmaking\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"6 reasons why film photography is popular again\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/#website\",\"url\":\"https:\/\/new-blog.artlist.io\/blog\/\",\"name\":\"Artlist Blog\",\"description\":\"Just artlist blog website\",\"publisher\":{\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/new-blog.artlist.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/#organization\",\"name\":\"Artlist Blog\",\"url\":\"https:\/\/new-blog.artlist.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2024\/10\/artlist-blog-logo.svg\",\"contentUrl\":\"https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2024\/10\/artlist-blog-logo.svg\",\"width\":143,\"height\":28,\"caption\":\"Artlist Blog\"},\"image\":{\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/new-blog.artlist.io\/blog\/#\/schema\/person\/397d693f2006ed012f1efab9571cba05\",\"name\":\"Chris Suffield\",\"description\":\"Chris Suffield is a London-based writer, editor, and voice-over artist at Jellyfielder Studios; he also writes entertainment news for Box Office Buz and enjoys making things from stock footage.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/-chris-suffield-781a293a\/?originalSubdomain=uk\"],\"url\":\"https:\/\/new-blog.artlist.io\/blog\/author\/chris-suffield\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Film photography - what is it and why it's becoming so popular","description":"Discover the beauty of analog photography with our 6 reasons why film photography is gaining popularity.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/","og_locale":"en_US","og_type":"article","og_title":"Film photography - what is it and why it's becoming so popular","og_description":"Discover the beauty of analog photography with our 6 reasons why film photography is gaining popularity.","og_url":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/","og_site_name":"Artlist Blog","article_published_time":"2023-08-29T14:33:36+00:00","article_modified_time":"2024-01-01T12:31:08+00:00","og_image":[{"width":2560,"height":717,"url":"https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2023\/08\/290823-Resurgence-of-Film-photography-quote-from-Peter-McKinnon-share-collection-Blog-cover-scaled.jpg","type":"image\/jpeg"}],"author":"Chris Suffield","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chris Suffield","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/#article","isPartOf":{"@id":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/"},"author":{"name":"Chris Suffield","@id":"https:\/\/new-blog.artlist.io\/blog\/#\/schema\/person\/397d693f2006ed012f1efab9571cba05"},"headline":"6 reasons why film photography is popular again","datePublished":"2023-08-29T14:33:36+00:00","dateModified":"2024-01-01T12:31:08+00:00","mainEntityOfPage":{"@id":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/"},"wordCount":1342,"publisher":{"@id":"https:\/\/new-blog.artlist.io\/blog\/#organization"},"keywords":["#35mm","#camera","#darkroom","#film","Camera Lenses","Lighting","Photography","Stock Footage"],"articleSection":["Production &amp; Filmmaking","Royalty-Free Footage"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/","url":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/","name":"Film photography - what is it and why it's becoming so popular","isPartOf":{"@id":"https:\/\/new-blog.artlist.io\/blog\/#website"},"datePublished":"2023-08-29T14:33:36+00:00","dateModified":"2024-01-01T12:31:08+00:00","description":"Discover the beauty of analog photography with our 6 reasons why film photography is gaining popularity.","breadcrumb":{"@id":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/new-blog.artlist.io\/blog\/film-photography\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/new-blog.artlist.io\/blog\/film-photography\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/new-blog.artlist.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Production &amp; Filmmaking","item":"https:\/\/new-blog.artlist.io\/blog\/production-filmmaking\/"},{"@type":"ListItem","position":3,"name":"6 reasons why film photography is popular again"}]},{"@type":"WebSite","@id":"https:\/\/new-blog.artlist.io\/blog\/#website","url":"https:\/\/new-blog.artlist.io\/blog\/","name":"Artlist Blog","description":"Just artlist blog website","publisher":{"@id":"https:\/\/new-blog.artlist.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/new-blog.artlist.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/new-blog.artlist.io\/blog\/#organization","name":"Artlist Blog","url":"https:\/\/new-blog.artlist.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/new-blog.artlist.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2024\/10\/artlist-blog-logo.svg","contentUrl":"https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2024\/10\/artlist-blog-logo.svg","width":143,"height":28,"caption":"Artlist Blog"},"image":{"@id":"https:\/\/new-blog.artlist.io\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/new-blog.artlist.io\/blog\/#\/schema\/person\/397d693f2006ed012f1efab9571cba05","name":"Chris Suffield","description":"Chris Suffield is a London-based writer, editor, and voice-over artist at Jellyfielder Studios; he also writes entertainment news for Box Office Buz and enjoys making things from stock footage.","sameAs":["https:\/\/www.linkedin.com\/in\/-chris-suffield-781a293a\/?originalSubdomain=uk"],"url":"https:\/\/new-blog.artlist.io\/blog\/author\/chris-suffield\/"}]}},"uagb_featured_image_src":{"full":["https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2023\/08\/290823-Resurgence-of-Film-photography-quote-from-Peter-McKinnon-share-collection-Blog-cover-scaled.jpg",2560,717,false],"thumbnail":["https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2023\/08\/290823-Resurgence-of-Film-photography-quote-from-Peter-McKinnon-share-collection-Blog-cover-150x150.jpg",150,150,true],"medium":["https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2023\/08\/290823-Resurgence-of-Film-photography-quote-from-Peter-McKinnon-share-collection-Blog-cover-300x84.jpg",300,84,true],"medium_large":["https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2023\/08\/290823-Resurgence-of-Film-photography-quote-from-Peter-McKinnon-share-collection-Blog-cover-768x215.jpg",768,215,true],"large":["https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2023\/08\/290823-Resurgence-of-Film-photography-quote-from-Peter-McKinnon-share-collection-Blog-cover-1024x287.jpg",1024,287,true],"1536x1536":["https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2023\/08\/290823-Resurgence-of-Film-photography-quote-from-Peter-McKinnon-share-collection-Blog-cover-1536x430.jpg",1536,430,true],"2048x2048":["https:\/\/new-blog.artlist.io\/blog\/wp-content\/uploads\/2023\/08\/290823-Resurgence-of-Film-photography-quote-from-Peter-McKinnon-share-collection-Blog-cover-2048x574.jpg",2048,574,true]},"uagb_author_info":{"display_name":"Chris Suffield","author_link":"https:\/\/new-blog.artlist.io\/blog\/author\/chris-suffield\/"},"uagb_comment_info":0,"uagb_excerpt":"It was nearly 200 years ago that the very first photo was taken, in 1826, by Joseph Nic\u00e9phore Ni\u00e9pce, and the process has changed dramatically since that time. The first commercial cameras were giant machines with delicate plates that required subjects to sit still for up to 30 minutes as the photo was taken. Nowadays,&hellip;","_links":{"self":[{"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/posts\/12046"}],"collection":[{"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/comments?post=12046"}],"version-history":[{"count":5,"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/posts\/12046\/revisions"}],"predecessor-version":[{"id":12427,"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/posts\/12046\/revisions\/12427"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/media\/12050"}],"wp:attachment":[{"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/media?parent=12046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/categories?post=12046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/new-blog.artlist.io\/blog\/wp-json\/wp\/v2\/tags?post=12046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}