{"action":"created","issue":{"url":"https://api.github.com/repos/madebyhiro/codem-transcode/issues/24","labels_url":"https://api.github.com/repos/madebyhiro/codem-transcode/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/madebyhiro/codem-transcode/issues/24/comments","events_url":"https://api.github.com/repos/madebyhiro/codem-transcode/issues/24/events","html_url":"https://github.com/madebyhiro/codem-transcode/issues/24","id":26423561,"number":24,"title":"Encoder options with double quotes don't work","user":{"login":"tieleman","id":28905,"avatar_url":"https://avatars.githubusercontent.com/u/28905?v=3","gravatar_id":"","url":"https://api.github.com/users/tieleman","html_url":"https://github.com/tieleman","followers_url":"https://api.github.com/users/tieleman/followers","following_url":"https://api.github.com/users/tieleman/following{/other_user}","gists_url":"https://api.github.com/users/tieleman/gists{/gist_id}","starred_url":"https://api.github.com/users/tieleman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tieleman/subscriptions","organizations_url":"https://api.github.com/users/tieleman/orgs","repos_url":"https://api.github.com/users/tieleman/repos","events_url":"https://api.github.com/users/tieleman/events{/privacy}","received_events_url":"https://api.github.com/users/tieleman/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/madebyhiro/codem-transcode/labels/Bug","name":"Bug","color":"e10c02"}],"state":"closed","locked":false,"assignee":{"login":"tieleman","id":28905,"avatar_url":"https://avatars.githubusercontent.com/u/28905?v=3","gravatar_id":"","url":"https://api.github.com/users/tieleman","html_url":"https://github.com/tieleman","followers_url":"https://api.github.com/users/tieleman/followers","following_url":"https://api.github.com/users/tieleman/following{/other_user}","gists_url":"https://api.github.com/users/tieleman/gists{/gist_id}","starred_url":"https://api.github.com/users/tieleman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tieleman/subscriptions","organizations_url":"https://api.github.com/users/tieleman/orgs","repos_url":"https://api.github.com/users/tieleman/repos","events_url":"https://api.github.com/users/tieleman/events{/privacy}","received_events_url":"https://api.github.com/users/tieleman/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2014-01-28T08:40:44Z","updated_at":"2015-07-30T09:45:52Z","closed_at":"2015-07-30T09:45:52Z","body":"NodeJS butchers arguments that you pass using `child_process.spawn`. For example, the following job fails when going into the transcoder:\r\n\r\n```\r\n$ curl -XPOST -d '{\r\n    \"source_file\": \"/tmp/sinterklaas.mov\",\r\n    \"destination_file\":\"/tmp/sinterklaas_out.mov\",\r\n    \"encoder_options\": \"-acodec copy -vcodec libx264 -vf \\\"scale=60:60\\\"\"\r\n}' http://localhost:8080/jobs\r\n```\r\nWith error:\r\n\r\n```\r\n\"ffmpeg finished with an error: '[AVFilterGraph @ 0x7faa18e0b900] No such filter: '\"scale'Error opening filters!\r\n' (1).\"\r\n```\r\n\r\nWhile executing it directly from the command line works:\r\n\r\n```\r\n$ ffmpeg -i /tmp/sinterklaas.mov -acodec copy -vcodec libx264 -vf \"scale=60:60\" /tmp/sinterklaas2.mov\r\n```"},"comment":{"url":"https://api.github.com/repos/madebyhiro/codem-transcode/issues/comments/126249702","html_url":"https://github.com/madebyhiro/codem-transcode/issues/24#issuecomment-126249702","issue_url":"https://api.github.com/repos/madebyhiro/codem-transcode/issues/24","id":126249702,"user":{"login":"tieleman","id":28905,"avatar_url":"https://avatars.githubusercontent.com/u/28905?v=3","gravatar_id":"","url":"https://api.github.com/users/tieleman","html_url":"https://github.com/tieleman","followers_url":"https://api.github.com/users/tieleman/followers","following_url":"https://api.github.com/users/tieleman/following{/other_user}","gists_url":"https://api.github.com/users/tieleman/gists{/gist_id}","starred_url":"https://api.github.com/users/tieleman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tieleman/subscriptions","organizations_url":"https://api.github.com/users/tieleman/orgs","repos_url":"https://api.github.com/users/tieleman/repos","events_url":"https://api.github.com/users/tieleman/events{/privacy}","received_events_url":"https://api.github.com/users/tieleman/received_events","type":"User","site_admin":false},"created_at":"2015-07-30T09:45:52Z","updated_at":"2015-07-30T09:45:52Z","body":"Yeah, I don't know what took me so long to provide a proper fix for this. 😬 Seeing as there's now a definitive way to provide \"complex\" arguments, I'm going to close this issue, seeing as this is just the way Node.js handles arguments."}}