{"_id":"node-ffprobe","_rev":"34-2f519bddf3cabfd4585e34fa10310fdc","name":"node-ffprobe","description":"NodeJS wrapper around ffprobe","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"node-ffprobe","version":"1.0.0","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.4.11"},"_id":"node-ffprobe@1.0.0","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"dd81313a3f7dd93384006ab2f2240a561ceef402","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.0.0.tgz","integrity":"sha512-GnjEox5wQaSbo21aravxcPAWexhipKaFa0kvw5/0dWcodA80UMDO+RS9CF/c/SVuEHGOqPUmaI+bG1gaPkcFkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvMStf8qXzHRXsa8VA0yLkVnX9C46uA8X3yxz3CmLlfAIgdE2cdFHPPPQUstnc2ZYNAQyhZumicmHi8KngMKm3Xd8="}]},"scripts":{},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.0.1":{"name":"node-ffprobe","version":"1.0.1","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.4.11"},"_npmJsonOpts":{"file":"/home/severeon/.npm/node-ffprobe/1.0.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"node-ffprobe@1.0.1","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.5.7","_defaultsLoaded":true,"dist":{"shasum":"ac611591246cd0058b64c69b22bc1901758a6eab","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.0.1.tgz","integrity":"sha512-hW4r0VV/sxPymVdOYnfNAgn0wBUVChkWgL0Td31gwaCMgqj3lcaOYMxOJRK02xIF5q1OA3hZVrVLdGU5RoU3NQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCP+EWkYyE4B9Njujuk/djASiJ3C/D1piPpqR5M6lZiqwIhANhiB899i26F3l8bnWl3jrgPGosLaiaF+RTUHsS08ksu"}]},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.0.2":{"name":"node-ffprobe","version":"1.0.2","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.4.11"},"_npmJsonOpts":{"file":"/home/severeon/.npm/node-ffprobe/1.0.2/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"node-ffprobe@1.0.2","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.5.7","_defaultsLoaded":true,"dist":{"shasum":"f68d51243782eb49e827e783234f677960213150","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.0.2.tgz","integrity":"sha512-Ibvzn5JABN6VZS2jIEbsK0M43bPGLEW/aQAmT/Oe7nBWIkuXlJGZAPxNo7FtBJSq8hudhlwExLc+FgthszRt2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkHRHKWqwm1bWxIQ7CGGtYQslmcBA5MqQ+9wolBcemSwIgY77Spu9uWj+HkmvKwvlCiZW1sPnGYZbe8bmrjkBF7H4="}]},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.0.3":{"name":"node-ffprobe","version":"1.0.3","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.4.11"},"_npmJsonOpts":{"file":"/home/severeon/.npm/node-ffprobe/1.0.3/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"node-ffprobe@1.0.3","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.5.7","_defaultsLoaded":true,"dist":{"shasum":"4b8d8bb77108828eb28d73588364c161082e17dc","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.0.3.tgz","integrity":"sha512-+ygIdD6qo+qW6pp5gnVkGuxV3jx/n0dam9Wyb49XcFW4RdqlgQVe+yg3sqJThlwuJe3Y2AHFTPWE5MeTnLvzMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTX7fsu3zRCUYFU8PBFnV4/ZZIik6gIAQ4ix0qmi+PYwIhAOw3VSDy9gdK18AL/EETpVkl2p8ahhexSclvh33PCSaY"}]},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.0.4":{"name":"node-ffprobe","version":"1.0.4","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.4.11"},"_npmJsonOpts":{"file":"/home/severeon/.npm/node-ffprobe/1.0.4/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"node-ffprobe@1.0.4","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.30","_nodeVersion":"v0.5.7","_defaultsLoaded":true,"dist":{"shasum":"3b5521509f7cee06f6b187868a95cffdd1749244","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.0.4.tgz","integrity":"sha512-t/1VjYHcoWeFIvZOhE4MVfapbKAnjfF2VSlPmXS8OwnrFNZlrBuU3b1JWLaU4hKPyCSSxl+208ISxFD8R6MhQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+SlI7eys+qMtt/JfHu6znUJV9MRNM3V4iru6jlUFkJwIhAKr8r5e2M5XM970sFSCxloNEljtdLmvatTnXDvlfS05I"}]},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.0.5":{"name":"node-ffprobe","version":"1.0.5","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.4.11"},"_id":"node-ffprobe@1.0.5","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.0.8","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"180bbfa763c4bcce701c7774b087b404edf06411","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.0.5.tgz","integrity":"sha512-/dogPLSCj3uKeQA2+6xB2bQUP7adp/KmWXPe5VNW4teDWcqEmEyTNcufMTSc7JXWhFSxVBX4Ty2xkUdOenvQug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHwApHQSAw9+ACMtgnx2Y7FTIuGHwfFU/7HfLSS9XodzAiEAlUTqMJ/8IWUuaVUhzcmC4oy3hk23ztwTdbhrzy1HS8Y="}]},"scripts":{},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.0.6":{"name":"node-ffprobe","version":"1.0.6","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.4.11"},"_npmUser":{"name":"severeon","email":"severeon@gmail.com"},"_id":"node-ffprobe@1.0.6","devDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.7","_defaultsLoaded":true,"dist":{"shasum":"c3113dd7c538305f4e8fe4418ee2a2479f60c130","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.0.6.tgz","integrity":"sha512-U781ou8tyXyP8RuQumM8QeiY0Nv6TbLzoPFJBDTQn+oLvyMPSXxUk7t6hKKQL4n6jzAMSSlt09Wo6XDa5Z1zhQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGXawRB8tsi2Tsqs+35qiBR5UmdEmmKzMHxenzdNTMSCAiEA6W7gSnmPFOK6R2y8Bu4ybO1BIA0/EZt7V0l2LwqbfUo="}]},"readme":"FFProbe for NodeJS\n==========\n\nA simple wrapper around ffprobe written in NodeJS\n\n***This module requires ffmpeg to be installed before it can function***.  The ffmpeg package comes bundled with ffprobe.\n\nInstallation\n----------\n\n    sudo apt-get install ffmpeg\n    npm install node-ffprobe\n\nUsage\n----------\n\n```js\nvar probe = require('node-ffprobe');\n\nvar track = '/path/to/media/file.mp3';\n\nprobe(track, function(probeData) {\n\tconsole.log(probeData);\n});\n```\n\nCalling probe will execute ffprobe and parse the data it sends to STDOUT.  A sample object can be seen below.\n\nThe ***streams***, ***format***, and ***metadata*** fields are taken directly from ffprobe.\n***probe_time*** is the total execution time for the given file.\n\n```js\n{\n\t\"filename\": \"Before We Dissolve.mp3\",\n\t\"filepath\": \"/path/to/media\",\n\t\"fileext\": \".mp3\",\n\t\"file\": \"/path/to/media/Before We Dissolve.mp3\",\n\t\"probe_time\": 642,\n\t\"streams\": [\n\t\t{\n\t\t\t\"codec_name\": \"mp3\",\n\t\t\t\"codec_long_name\": \"MP3 (MPEG audio layer 3)\",\n\t\t\t\"codec_type\": \"audio\",\n\t\t\t\"codec_time_base\": \"0/1\",\n\t\t\t\"codec_tag_string\": \"[0][0][0][0]\",\n\t\t\t\"codec_tag\": \"0x0000\",\n\t\t\t\"sample_rate\": 44100,\n\t\t\t\"channels\": 2,\n\t\t\t\"bits_per_sample\": 0,\n\t\t\t\"r_frame_rate\": \"0/0\",\n\t\t\t\"avg_frame_rate\": \"1225/32\",\n\t\t\t\"time_base\": \"1/14112000\",\n\t\t\t\"start_time\": 0,\n\t\t\t\"duration\": 149.524898\n\t\t}\n\t],\n\t\"format\": {\n\t\t\"nb_streams\": 1,\n\t\t\"format_name\": \"mp3\",\n\t\t\"format_long_name\": \"MPEG audio layer 2/3\",\n\t\t\"start_time\": 0,\n\t\t\"duration\": 149.524898,\n\t\t\"size\": 2392815,\n\t\t\"bit_rate\": 128022\n\t},\n\t\"metadata\": {}\n}\n```\n","maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.1.0":{"name":"node-ffprobe","version":"1.1.0","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.6.0"},"_npmUser":{"name":"severeon","email":"severeon@gmail.com"},"_id":"node-ffprobe@1.1.0","devDependencies":{},"optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.21","_nodeVersion":"v0.6.17","_defaultsLoaded":true,"dist":{"shasum":"5f52814914576783f03e35b0be5ef28039184501","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.1.0.tgz","integrity":"sha512-pgXPD8inw9EXpctMMsyJf+jOSAQyp+X1nb/A8E2o/FVUaq5NCfrrcW5/NE0vVQbc7LVVRz8rzwKzWyzzDdVuPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH2s8RZ5ErV7qs327sO9JMWZCamnWrOUbaX6R1C2445oAiBhP6qj9kB1TP8Ar3V0HS9CI8tlwI5VtG+wJktbdgyj6w=="}]},"readme":"FFProbe for NodeJS\n==========\n\nA simple wrapper around ffprobe written in NodeJS\n\n***This module requires ffmpeg to be installed before it can function***.  The ffmpeg package comes bundled with ffprobe.\n\nInstallation\n----------\n\n    sudo apt-get install ffmpeg\n    npm install node-ffprobe\n\nUsage\n----------\n\n```js\nvar probe = require('node-ffprobe');\n\nvar track = '/path/to/media/file.mp3';\n\nprobe(track, function(probeData) {\n\tconsole.log(probeData);\n});\n```\n\nCalling probe will execute ffprobe and parse the data it sends to STDOUT.  A sample object can be seen below.\n\nThe ***streams***, ***format***, and ***metadata*** fields are taken directly from ffprobe.\n***probe_time*** is the total execution time for the given file.\n\n```js\n{\n\t\"filename\": \"Before We Dissolve.mp3\",\n\t\"filepath\": \"/path/to/media\",\n\t\"fileext\": \".mp3\",\n\t\"file\": \"/path/to/media/Before We Dissolve.mp3\",\n\t\"probe_time\": 642,\n\t\"streams\": [\n\t\t{\n\t\t\t\"codec_name\": \"mp3\",\n\t\t\t\"codec_long_name\": \"MP3 (MPEG audio layer 3)\",\n\t\t\t\"codec_type\": \"audio\",\n\t\t\t\"codec_time_base\": \"0/1\",\n\t\t\t\"codec_tag_string\": \"[0][0][0][0]\",\n\t\t\t\"codec_tag\": \"0x0000\",\n\t\t\t\"sample_rate\": 44100,\n\t\t\t\"channels\": 2,\n\t\t\t\"bits_per_sample\": 0,\n\t\t\t\"r_frame_rate\": \"0/0\",\n\t\t\t\"avg_frame_rate\": \"1225/32\",\n\t\t\t\"time_base\": \"1/14112000\",\n\t\t\t\"start_time\": 0,\n\t\t\t\"duration\": 149.524898\n\t\t}\n\t],\n\t\"format\": {\n\t\t\"nb_streams\": 1,\n\t\t\"format_name\": \"mp3\",\n\t\t\"format_long_name\": \"MPEG audio layer 2/3\",\n\t\t\"start_time\": 0,\n\t\t\"duration\": 149.524898,\n\t\t\"size\": 2392815,\n\t\t\"bit_rate\": 128022\n\t},\n\t\"metadata\": {}\n}\n```\n","maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.2.0":{"name":"node-ffprobe","version":"1.2.0","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.6.0"},"readme":"FFProbe for NodeJS\n==========\n\nA simple wrapper around ffprobe written in NodeJS\n\n***This module requires ffmpeg to be installed before it can function***.  The ffmpeg package comes bundled with ffprobe.\n\nInstallation\n----------\n\n    sudo apt-get install ffmpeg\n    npm install node-ffprobe\n\nUsage\n----------\n\n```js\nvar probe = require('node-ffprobe');\n\nvar track = '/path/to/media/file.mp3';\n\nprobe(track, function(err, probeData) {\n\tconsole.log(probeData);\n});\n```\n\nCalling probe will execute ffprobe and parse the data it sends to STDOUT.  A sample object can be seen below.\n\nThe ***streams***, ***format***, and ***metadata*** fields are taken directly from ffprobe.\n***probe_time*** is the total execution time for the given file.\n\n```js\n{\n\t\"filename\": \"Before We Dissolve.mp3\",\n\t\"filepath\": \"/path/to/media\",\n\t\"fileext\": \".mp3\",\n\t\"file\": \"/path/to/media/Before We Dissolve.mp3\",\n\t\"probe_time\": 642,\n\t\"streams\": [\n\t\t{\n\t\t\t\"codec_name\": \"mp3\",\n\t\t\t\"codec_long_name\": \"MP3 (MPEG audio layer 3)\",\n\t\t\t\"codec_type\": \"audio\",\n\t\t\t\"codec_time_base\": \"0/1\",\n\t\t\t\"codec_tag_string\": \"[0][0][0][0]\",\n\t\t\t\"codec_tag\": \"0x0000\",\n\t\t\t\"sample_rate\": 44100,\n\t\t\t\"channels\": 2,\n\t\t\t\"bits_per_sample\": 0,\n\t\t\t\"r_frame_rate\": \"0/0\",\n\t\t\t\"avg_frame_rate\": \"1225/32\",\n\t\t\t\"time_base\": \"1/14112000\",\n\t\t\t\"start_time\": 0,\n\t\t\t\"duration\": 149.524898\n\t\t}\n\t],\n\t\"format\": {\n\t\t\"nb_streams\": 1,\n\t\t\"format_name\": \"mp3\",\n\t\t\"format_long_name\": \"MPEG audio layer 2/3\",\n\t\t\"start_time\": 0,\n\t\t\"duration\": 149.524898,\n\t\t\"size\": 2392815,\n\t\t\"bit_rate\": 128022\n\t},\n\t\"metadata\": {}\n}\n```\n","_id":"node-ffprobe@1.2.0","dist":{"shasum":"eaca898eb22225073075952d698626f36c07d916","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.2.0.tgz","integrity":"sha512-9eyUd0/vktLAtn2fg7drLZpi8VzGrPn5yWnuNlivYPgWNWTUbtQu9wWuUW5+9yPib6ElyN14qmbVwcP8Y4hLHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF0Ts1lN7zDb3tLO0t3KCDyysJRnsPXV9EQiYiTVfduwIgPiZVkShk7v7V/mXM7yuHyfPwsqfY7zPKZIbfxCTrlfs="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"severeon","email":"severeon@gmail.com"},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.2.1":{"name":"node-ffprobe","version":"1.2.1","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.6.0"},"readme":"FFProbe for NodeJS\n==========\n\nA simple wrapper around ffprobe written in NodeJS\n\n***This module requires ffmpeg to be installed before it can function***.  The ffmpeg package comes bundled with ffprobe.\n\nInstallation\n----------\n\n    sudo apt-get install ffmpeg\n    npm install node-ffprobe\n\nUsage\n----------\n\n```js\nvar probe = require('node-ffprobe');\n\nvar track = '/path/to/media/file.mp3';\n\nprobe(track, function(err, probeData) {\n\tconsole.log(probeData);\n});\n```\n\nCalling probe will execute ffprobe and parse the data it sends to STDOUT.  A sample object can be seen below.\n\nThe ***streams***, ***format***, and ***metadata*** fields are taken directly from ffprobe.\n***probe_time*** is the total execution time for the given file.\n\n```js\n{\n\t\"filename\": \"Before We Dissolve.mp3\",\n\t\"filepath\": \"/path/to/media\",\n\t\"fileext\": \".mp3\",\n\t\"file\": \"/path/to/media/Before We Dissolve.mp3\",\n\t\"probe_time\": 642,\n\t\"streams\": [\n\t\t{\n\t\t\t\"codec_name\": \"mp3\",\n\t\t\t\"codec_long_name\": \"MP3 (MPEG audio layer 3)\",\n\t\t\t\"codec_type\": \"audio\",\n\t\t\t\"codec_time_base\": \"0/1\",\n\t\t\t\"codec_tag_string\": \"[0][0][0][0]\",\n\t\t\t\"codec_tag\": \"0x0000\",\n\t\t\t\"sample_rate\": 44100,\n\t\t\t\"channels\": 2,\n\t\t\t\"bits_per_sample\": 0,\n\t\t\t\"r_frame_rate\": \"0/0\",\n\t\t\t\"avg_frame_rate\": \"1225/32\",\n\t\t\t\"time_base\": \"1/14112000\",\n\t\t\t\"start_time\": 0,\n\t\t\t\"duration\": 149.524898\n\t\t}\n\t],\n\t\"format\": {\n\t\t\"nb_streams\": 1,\n\t\t\"format_name\": \"mp3\",\n\t\t\"format_long_name\": \"MPEG audio layer 2/3\",\n\t\t\"start_time\": 0,\n\t\t\"duration\": 149.524898,\n\t\t\"size\": 2392815,\n\t\t\"bit_rate\": 128022\n\t},\n\t\"metadata\": {}\n}\n```\n","readmeFilename":"README.md","_id":"node-ffprobe@1.2.1","dist":{"shasum":"70d50f95592051a897e9ff0bf5e08ec84cc6220d","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.2.1.tgz","integrity":"sha512-6XQmAJVHzQ99YWzhPG34J9ruM5VFddBWQcfTTpX7+8W6gyeJA+CAWPXS0XgSSIQRWsQUXemNCJO7znOnSOkgCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDiKHsplzsTVyFSXqNEr2dVAjfmr6TgHANDRUvdcFrxtwIgPgf3An7cVHvKXM+PJzcBTZklRya5T428Cpaq5kg4pUc="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"severeon","email":"severeon@gmail.com"},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"1.2.2":{"name":"node-ffprobe","version":"1.2.2","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"thomas@listenerapproved.com","url":"http://listenerapproved.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 0.6.0"},"readme":"FFProbe for NodeJS\n==========\n\nA simple wrapper around ffprobe written in NodeJS\n\n***This module requires ffmpeg to be installed before it can function***.  The ffmpeg package comes bundled with ffprobe.\n\nInstallation\n----------\n\n    sudo apt-get install ffmpeg\n    npm install node-ffprobe\n\nUsage\n----------\n\n```js\nvar probe = require('node-ffprobe');\n\nvar track = '/path/to/media/file.mp3';\n\nprobe(track, function(err, probeData) {\n\tconsole.log(probeData);\n});\n```\n\nCalling probe will execute ffprobe and parse the data it sends to STDOUT.  A sample object can be seen below.\n\nThe ***streams***, ***format***, and ***metadata*** fields are taken directly from ffprobe.\n***probe_time*** is the total execution time for the given file.\n\n```js\n{\n\t\"filename\": \"Before We Dissolve.mp3\",\n\t\"filepath\": \"/path/to/media\",\n\t\"fileext\": \".mp3\",\n\t\"file\": \"/path/to/media/Before We Dissolve.mp3\",\n\t\"probe_time\": 642,\n\t\"streams\": [\n\t\t{\n\t\t\t\"codec_name\": \"mp3\",\n\t\t\t\"codec_long_name\": \"MP3 (MPEG audio layer 3)\",\n\t\t\t\"codec_type\": \"audio\",\n\t\t\t\"codec_time_base\": \"0/1\",\n\t\t\t\"codec_tag_string\": \"[0][0][0][0]\",\n\t\t\t\"codec_tag\": \"0x0000\",\n\t\t\t\"sample_rate\": 44100,\n\t\t\t\"channels\": 2,\n\t\t\t\"bits_per_sample\": 0,\n\t\t\t\"r_frame_rate\": \"0/0\",\n\t\t\t\"avg_frame_rate\": \"1225/32\",\n\t\t\t\"time_base\": \"1/14112000\",\n\t\t\t\"start_time\": 0,\n\t\t\t\"duration\": 149.524898\n\t\t}\n\t],\n\t\"format\": {\n\t\t\"nb_streams\": 1,\n\t\t\"format_name\": \"mp3\",\n\t\t\"format_long_name\": \"MPEG audio layer 2/3\",\n\t\t\"start_time\": 0,\n\t\t\"duration\": 149.524898,\n\t\t\"size\": 2392815,\n\t\t\"bit_rate\": 128022\n\t},\n\t\"metadata\": {}\n}\n```\n","readmeFilename":"README.md","_id":"node-ffprobe@1.2.2","dist":{"shasum":"ab2e7152c9d2b7e296fce2f77a97ef249baa6d33","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-1.2.2.tgz","integrity":"sha512-SGYp8iyCIE3uw5rB8PsGA5iJS8YD+SX2vXcTIdYHGuD+eVJT4Di7FJ53HjqSiM1AiPpDzbUfG4G8yEc1GvTeJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAbYk8ASOW28Z+Bp6fYOq0UvfaZbVgCsqmdF9P3OOgllAiEA7l2CdJFlIi+paYs31Tl40uneTMxSREXboKegWcANO8k="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"severeon","email":"severeon@gmail.com"},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"directories":{}},"2.0.0":{"name":"node-ffprobe","version":"2.0.0","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"severeon@gmail.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 10"},"gitHead":"27b77c714c9d8c1935b09cb31f61ac4480b3662e","bugs":{"url":"https://github.com/ListenerApproved/node-ffprobe/issues"},"homepage":"https://github.com/ListenerApproved/node-ffprobe#readme","_id":"node-ffprobe@2.0.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-TVviua/c+PpnjPtyYMYW6E0Y8ymFGy2TJvG+L5EZW8vm3FyyUtuNFpeFC1W3JIdUONi6TARo62rw9ZwM5Kn8tQ==","shasum":"5ead759d5080b38009da55f9bd362c251eddd8ea","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-2.0.0.tgz","fileCount":5,"unpackedSize":5754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpKb0CRA9TVsSAnZWagAAVGIP/1IOL8Iked/ySq99tJdn\nE4xYseTpiyZkv+drILZQ6cNYKJPYRZWGC7YqnYNlvriBUJRtS6KTVqaLAFld\nUrK3ibK8kdZ6IxScXARzAMk7wjnpNGmlne6hTQfEGYXg2vELAfyt1aK+Q8s5\nic8ENdgs2+KlbaglxawUKYJAcLm8yB0qteDr+PqJ3ssdN2Dtdh8hneIrcJB9\n//PrjZZdTaePkrJkmiEtOK5uhrd5m3zrV8ntkLAKwIJG7xJUEd1+TM13wNhG\nP/YfkWOYKusoGc9/f9D3GLOwaLzE2nBv4nWgE9b2r9VorlaS3jc1BWbXn05R\nQpxx1+2FkHvNBBfejOsZg7d9okUKPV5gmKbkFOdMPm8RsLUOb/qraJExXmoe\n/0Fl5GLXLrwY0AKeFTd9X5CKX2Qgkio/buLQUlHI7RkS2Cxn2T+SougQNY7F\n1z56RQ/EYbch/dkqii8xwRbsuEKhIOjU/ImIcNx7Dg5trByKy7DkLUWSb/Tc\nt7O9DOlpJR+Sn9Wy9xyOkywPoMUaZ9Q++YVBF39rpNwV8M7T+sKMrNAPn9fX\nicrDkIX9vLCu9ObeQI2PRmvxlYwRi9OGadRA8+tg86L1Zj+JKkLSYyRDo0dX\ns7Ep30TViG1gwM579a/TJKT/jwN4o7NzyGjnxKoUDm2E2aes9quWmWr986uY\nwNtL\r\n=k6pC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1IJLiKPi2mhlPf5/YbweqAvY8oJssL3cM/wgwKSLnoAIhAKVEd3T8ipoiSnum+mpBA1hzGkm4/GlbtUdgImiC7gpZ"}]},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"_npmUser":{"name":"severeon","email":"severeon@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-ffprobe_2.0.0_1571071732114_0.6943451089768049"},"_hasShrinkwrap":false},"3.0.0":{"name":"node-ffprobe","version":"3.0.0","description":"NodeJS wrapper around ffprobe","keywords":["ffprobe","id3"],"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"author":{"name":"Thomas Quick","email":"severeon@gmail.com"},"main":"index","contributors":[],"dependencies":{},"engines":{"node":">= 10"},"gitHead":"c82b0de01c5362174dd4f3c7f7305732e4958c7b","bugs":{"url":"https://github.com/ListenerApproved/node-ffprobe/issues"},"homepage":"https://github.com/ListenerApproved/node-ffprobe#readme","_id":"node-ffprobe@3.0.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-2LNTLStz2hw/urwo4xJ00TIOvthgepcl3tF4HB8BWnhJ4nhJ7S08YThapBHkGLYV+GUuY9pML/kX76+dqY2iUg==","shasum":"e6a9f6942fb2dc9c0897a68c9292a366b10bccd7","tarball":"https://registry.npmjs.org/node-ffprobe/-/node-ffprobe-3.0.0.tgz","fileCount":6,"unpackedSize":5296343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdx3P0CRA9TVsSAnZWagAAWssP/3QIARdQS8hH5lK918b1\nbvIJldgVtmnvTVBVMLQfh6QQdoiHcBxcn28sC7ppx3lHeMIe/Wsd4lCmTVdx\ntgvGoUoC3HJsfOvNUplw0fVguzwrdzUq29q1CqUL/EJHzpQkVKCsihiVuIaS\nMBzcnL0sE+HGIXti3PWgwpS1QhfplvqwwNyv6vDXBhVs4vnErNe9ofUtv9LS\nXVy2m/TJeWpL+WL7zyrfBA3Gx7wjAxqiHIpARD5q1Ds08X1gzZVmxRkv8npQ\n/MLZBgWAa38MzrBlSPbH2//InidhuiTqsA8XRpom6aFEWDpx8+brdNSWeG0K\nU8tJXYvTN4LK+5vqSrGYFfbp9wQxEai8/PD7ZCDv6LI6AzNTs0AzUXyaXxJu\ns0avMbQAnxqdcj7hpAWxdN2+w5YcE8Nl5Mn83CLXILAPIXuyxPj7YvBFVO5F\n6KHrCJ2AWkfJlMorj9QPH6Qtz1reduj8QZESGRdIG9V/WyQVknzNgMaYSpUh\nqRd0428hkObhN4Icdmt0Dhn1DIAEdEQ61OUhIX6MiQeqaMnuvvHJPywcsVsr\nkI65Sicmc1iz13xMxTQG/vg/+lP7TAe9n5VuVdd3GghO3hRLQXyJpEfnZ6p0\n9f9Q3bfOY8UJ4R+rjexWKoxIOYwIe3KrSs5QxFBXrMnrVB/WL+li0XKxjLmb\nloHY\r\n=MWd6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGzdhMIOv7hd9ub7tQ4XcRtk0V9ceM+TrH3nVYwOxxFPAiBa2AUwcB2KsoUmpTu126iWPZ0h15riQS4OJQsaWccIVQ=="}]},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"_npmUser":{"name":"severeon","email":"severeon@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-ffprobe_3.0.0_1573352435829_0.30398773224422326"},"_hasShrinkwrap":false}},"maintainers":[{"name":"severeon","email":"thomas@listenerapproved.com"}],"time":{"modified":"2022-06-21T14:36:33.409Z","created":"2011-09-29T07:17:31.940Z","1.0.0":"2011-09-29T07:17:32.352Z","1.0.1":"2011-09-29T07:22:15.690Z","1.0.2":"2011-09-29T07:25:57.023Z","1.0.3":"2011-09-29T07:43:34.614Z","1.0.4":"2011-09-29T07:53:45.586Z","1.0.5":"2011-10-06T04:57:40.423Z","1.0.6":"2012-01-30T20:18:05.077Z","1.1.0":"2012-06-19T04:18:16.238Z","1.2.0":"2012-08-29T02:16:04.973Z","1.2.1":"2012-12-07T02:03:36.834Z","1.2.2":"2013-04-20T21:03:45.966Z","2.0.0":"2019-10-14T16:48:52.241Z","3.0.0":"2019-11-10T02:20:36.101Z"},"author":{"name":"Thomas Quick","email":"severeon@gmail.com"},"repository":{"type":"git","url":"git://github.com/ListenerApproved/node-ffprobe.git"},"users":{"alexbinary":true,"wisecolt":true,"robba.jt":true,"lighterfluid":true,"papasavva":true,"dariocaruso":true},"homepage":"https://github.com/ListenerApproved/node-ffprobe#readme","keywords":["ffprobe","id3"],"contributors":[],"bugs":{"url":"https://github.com/ListenerApproved/node-ffprobe/issues"},"readme":"# FFProbe for NodeJS\n\nA simple sync wrapper around ffprobe written in NodeJS\n\n***This module requires ffmpeg to be installed before it can function***.  The ffprobe utility comes bundled with ffmpeg.  If you just need this to work under multiple configs consider using `@ffprobe-installer/ffprobe` as detailed in the usage example below\n\n## Installation\n\n```sh\n# regular NPM package install\nnpm install --save node-ffprobe\n\n# install directly from GitHub\nnpm install --save github:ListenerApproved/node-ffprobe\n\n# install NPM package via Yarn\nyarn add node-ffprobe\n```\n\n\n\n## Run\n \t$ npm i\n\n\n\n## Usage\n\n```js\nconst probe = require('node-ffprobe')\nconst ffprobeInstaller = require('@ffprobe-installer/ffprobe')\n\nconsole.log(ffprobeInstaller.path, ffprobeInstaller.version)\n\nffprobe.FFPROBE_PATH = ffprobeInstaller.path\n\nvar track = '/path/to/media/file.mp3' // or video\n\nprobe(track).then(probeData => {\n\tconsole.log(probeData)\n})\n```\n\nFFPROBE_PATH is useful if you embed the lib in your app.\n\nCalling probe will execute ffprobe and parse the data it sends to STDOUT.  A sample object can be seen below.\n\nAdditionnally, you can set `ffprobe.SYNC` to `true` if you want for a particular reason to launch ffprobe synchronously (for example when used in batch processing of files to avoid too many spawns at once.)\n\nThe JSON returned by this utility is directly produced by ffprobe using the `-print_format json` flag\n\n\n### Example Output\n\n\n```js\n{\n   \"programs\": [],\n   \"streams\": [\n      {\n         \"index\": 0,\n         \"codec_name\": \"mp3\",\n         \"codec_long_name\": \"MP3 (MPEG audio layer 3)\",\n         \"codec_type\": \"audio\",\n         \"codec_time_base\": \"1/44100\",\n         \"codec_tag_string\": \"[0][0][0][0]\",\n         \"codec_tag\": \"0x0000\",\n         \"sample_fmt\": \"fltp\",\n         \"sample_rate\": \"44100\",\n         \"channels\": 2,\n         \"channel_layout\": \"stereo\",\n         \"bits_per_sample\": 0,\n         \"r_frame_rate\": \"0/0\",\n         \"avg_frame_rate\": \"0/0\",\n         \"time_base\": \"1/14112000\",\n         \"start_pts\": 353600,\n         \"start_time\": \"0.025057\",\n         \"duration_ts\": 1865687040,\n         \"duration\": \"132.205714\",\n         \"bit_rate\": \"320000\",\n         \"disposition\": {\n            \"default\": 0,\n            \"dub\": 0,\n            \"original\": 0,\n            \"comment\": 0,\n            \"lyrics\": 0,\n            \"karaoke\": 0,\n            \"forced\": 0,\n            \"hearing_impaired\": 0,\n            \"visual_impaired\": 0,\n            \"clean_effects\": 0,\n            \"attached_pic\": 0,\n            \"timed_thumbnails\": 0\n         },\n         \"tags\": {\n            \"encoder\": \"LAME3.99r\"\n         }\n      }\n   ],\n   \"chapters\": [],\n   \"format\": {\n      \"filename\": \"/Users/im.a.little.teapot/Downloads/file_example_MP3_5MG.mp3\",\n      \"nb_streams\": 1,\n      \"nb_programs\": 0,\n      \"format_name\": \"mp3\",\n      \"format_long_name\": \"MP2/3 (MPEG audio layer 2/3)\",\n      \"start_time\": \"0.025057\",\n      \"duration\": \"132.205714\",\n      \"size\": \"5289384\",\n      \"bit_rate\": \"320069\",\n      \"probe_score\": 51,\n      \"tags\": {\n         \"genre\": \"Cinematic\",\n         \"album\": \"YouTube Audio Library\",\n         \"title\": \"Impact Moderato\",\n         \"artist\": \"Kevin MacLeod\"\n      }\n   }\n}\n```\n\n\n## Roadmap\n* Timeouts for async invocation\n* move package to unified nodejs ffmpeg library \n","readmeFilename":"README.md"}