Friday 15 July 2011

ffmpeg - PHP exec() and backslash \ -


मैं exec पर निम्न कमांड को चलाने की कोशिश कर रहा हूं:

  ffmpeg -y - मैं video.mp4 \ -ss 1067 -i video.mp4 -c copy -bsf: v h264_mp4toannexb -f mpegts -t 32 tmp / कटौती / 6.ts \ -ss 1215 -i video.mp4 -c copy -bsf: v यदि मैं इस कमांड की प्रतिलिपि बनाता हूं और उसे एक शेल पर चलाता है तो सब कुछ महान काम करता है, वीडियो काटा जाता है, सही है।       
  [NULL @ 052a0060] '\' के लिए एक उपयुक्त आउटपुट स्वरूप ढूंढने में असमर्थ  

: अमान्य तर्क

यहां तक ​​कि अगर मैं इस तरह से आदेश चिपकाएँ:

  & lt;? Php $ command = 'ffmpeg -y -i video.mp4 \ -ss 1067 -i video.mp4 -c copy -bsf: v h264_mp4toannexb -f mpegts -t 32 tmp / कटौती / 6.ts \ -ss 1215 -i video.mp4 -c copy -bsf: v h264_mp4toannexb -f mpegts -टी 32 टीएमपी / कटौती / 7 एस '; Echo $ command.chr (10); $ वापसी = 0; $ आउटपुट = एरे (); Exec ($ आदेश, $ आउटपुट, $ वापसी); ? & Gt;  

क्या मुझे कुछ याद आ रहा है? मैंने कोशिश की है, बैकस्लैश से बचने के लिए, और कुछ भी नहीं।

यह खिड़कियों और यूनिक्स दोनों में होता है, त्रुटियाँ बिल्कुल समान हैं।

क्या हो रहा है पर कोई भी विचार इस के साथ?

बैकस्लैश (\) शेल स्क्रिप्ट में, इस मामले में, केवल तो इसे लाइन ब्रेक () को अनदेखा कर दें

तो एक पंक्ति में बैकस्लैश के बिना कमांड चलाने की कोशिश करें:

  & lt;? Php $ command = 'ffmpeg -y -i video.mp4 -ss 1067 -i video.mp4 -c copy -bsf: v h264_mp4toannexb -f mpegts -t 32 tmp / कटौती / 6.ts -ss 1215 -i video.mp4 -c copy -bsf: v h264_mp4toannexb -f एमपीईजीटी -टी 32 टीएमपी / कटौती / 7 एस '; (...)? & Gt;  

No comments:

Post a Comment