Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FFmpeg not correcting container via php #5592

Closed
lordwilmore opened this issue May 3, 2015 · 17 comments
Closed

FFmpeg not correcting container via php #5592

lordwilmore opened this issue May 3, 2015 · 17 comments

Comments

@lordwilmore
Copy link

@lordwilmore lordwilmore commented May 3, 2015

I am calling this command from my php site:

Everything works fine and the file is being saved as well with this output:
[youtube] RF0HhrwIwp0: Downloading webpage [youtube] RF0HhrwIwp0: Extracting video information [youtube] RF0HhrwIwp0: Downloading DASH manifest [download] Destination: /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a [download] 0.0% of 6.30MiB at 146.11KiB/s ETA 00:44 [download] 0.0% of 6.30MiB at 416.83KiB/s ETA 00:15 [download] 0.1% of 6.30MiB at 947.87KiB/s ETA 00:06 [download] 0.2% of 6.30MiB at 1.93MiB/s ETA 00:03 [download] 0.5% of 6.30MiB at 1.63MiB/s ETA 00:03 [download] 1.0% of 6.30MiB at 1.38MiB/s ETA 00:04 [download] 2.0% of 6.30MiB at 1.15MiB/s ETA 00:05 [download] 4.0% of 6.30MiB at 442.06KiB/s ETA 00:14 [download] 7.9% of 6.30MiB at 254.34KiB/s ETA 00:23 [download] 10.7% of 6.30MiB at 259.85KiB/s ETA 00:22 [download] 15.0% of 6.30MiB at 291.74KiB/s ETA 00:18 [download] 21.5% of 6.30MiB at 373.71KiB/s ETA 00:13 [download] 34.5% of 6.30MiB at 489.44KiB/s ETA 00:08 [download] 50.1% of 6.30MiB at 568.80KiB/s ETA 00:05 [download] 63.9% of 6.30MiB at 664.06KiB/s ETA 00:03 [download] 90.1% of 6.30MiB at 795.23KiB/s ETA 00:00 [download] 100.0% of 6.30MiB at 832.05KiB/s ETA 00:00 [download] 100% of 6.30MiB in 00:07 [ffmpeg] Correcting container in "/home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a" [ffmpeg] Correcting container in "/home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a"

BUT: although it states that ffmpeg corrected the container for the audio file, they are still corrupted and can't be played from iTunes. The same command from the terminal works as requested and corrects the container correctly.

I have tested if php can access ffmpeg [system("ffmpeg -h")] and also have tried to give a location for ffmpeg [echo system('~/bin/youtube-dl --ffmpeg-location /.toast/armed/bin/ffmpeg --extract-audio -o "/html/YouTubeDownloader/%(id)s.%(ext)s" RF0HhrwIwp0')]. Still without success. My current ffmpeg version is 2.6.2 and my youtube-dl version is from 2015.04.28

Have you ever encountered such a problem and know how to solve this, or is it a new issue?

@dstftw
Copy link
Collaborator

@dstftw dstftw commented May 3, 2015

Post the full output you get when running with --verbose option.

@lordwilmore
Copy link
Author

@lordwilmore lordwilmore commented May 3, 2015

That's the full output:
[youtube] RF0HhrwIwp0: Downloading webpage [youtube] RF0HhrwIwp0: Extracting video information [youtube] {43} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {18} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {5} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {36} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {17} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {135} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {244} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {134} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {243} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {133} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {242} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {160} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {140} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {171} signature length 43.43, html5 player en_US-vflheTb7D [youtube] RF0HhrwIwp0: Downloading DASH manifest [debug] Invoking downloader on 'https://r14---sn-4g57knez.googlevideo.com/videoplayback?id=445d0786bc08c29d&itag=141&source=youtube&requiressl=yes&nh=IgpwcjAyLmZyYTA1KgkxMjcuMC4wLjE&gcr=de&ms=au&mv=u&mm=31&pl=32&ratebypass=yes&mime=audio/mp4&gir=yes&clen=6603379&lmt=1426234255067262&dur=207.098&key=dg_yt0&sver=3&fexp=900720,907263,934954,934968,935035,938028,9405960,9406544,9407407,9408134,9408142,9408707,9408788,940939,9412547,9413154,948124,952612,952637,952642,957201&signature=7454A5D47FD6E1412DF9E267A301340F11805423.7C2F580D4BBBA19E1DA1C719EA88941791B1C211&mt=1430676685&upn=NPUOQkiwwdc&ip=2a00:d0c0:200:0:b9:1a:9c28:1&ipbits=0&expire=1430699083&sparams=ip,ipbits,expire,id,itag,source,requiressl,nh,gcr,ms,mv,mm,pl,ratebypass,mime,gir,clen,lmt,dur' [download] Destination: /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a [download] 0.0% of 6.30MiB at 106.77KiB/s ETA 01:00 [download] 0.0% of 6.30MiB at 303.50KiB/s ETA 00:21 [download] 0.1% of 6.30MiB at 572.22KiB/s ETA 00:11 [download] 0.2% of 6.30MiB at 1.13MiB/s ETA 00:05 [download] 0.5% of 6.30MiB at 1.66MiB/s ETA 00:03 [download] 1.0% of 6.30MiB at 1.77MiB/s ETA 00:03 [download] 2.0% of 6.30MiB at 1.76MiB/s ETA 00:03 [download] 4.0% of 6.30MiB at 1.74MiB/s ETA 00:03 [download] 7.9% of 6.30MiB at 1.73MiB/s ETA 00:03 [download] 15.9% of 6.30MiB at 1.70MiB/s ETA 00:03 [download] 31.7% of 6.30MiB at 1.70MiB/s ETA 00:02 [download] 58.7% of 6.30MiB at 1.69MiB/s ETA 00:01 [download] 85.5% of 6.30MiB at 1.60MiB/s ETA 00:00 [download] 100.0% of 6.30MiB at 1.57MiB/s ETA 00:00 [download] 100% of 6.30MiB in 00:04 [ffmpeg] Correcting container in "/home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a" [debug] ffmpeg command line: ffmpeg -y -i /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a -c copy -f mp4 /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.temp.m4a [debug] ffmpeg command line: ffmpeg -y -i /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a -c copy -f mp4 /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.temp.m4a

I also always delete the old m4a file before running a new test.

@dstftw
Copy link
Collaborator

@dstftw dstftw commented May 3, 2015

This is not the full output. Do not remove the debug info at the beginning:

[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'RF0HhrwIwp0', u'-v']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2015.04.28
[debug] Git HEAD: 848edea
[debug] Python version 2.7.9 - Windows-2003Server-5.2.3790-SP2
[debug] exe versions: ffmpeg N-71608-ga924b83, ffprobe N-71608-ga924b83, rtmpdum
p 2.4
[debug] Proxy map: {}
@lordwilmore
Copy link
Author

@lordwilmore lordwilmore commented May 3, 2015

I actually did not delete anything, that was all I got from php.

This is what I receive running the same code in terminal:
(ext)s" RF0HhrwIwp0
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'--extract-audio', u'-o', u'~/html/YouTubeDownloader/%(id)s.%(ext)s', u'RF0HhrwIwp0']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.04.28
[debug] Python version 2.6.6 - Linux-2.6.32-504.12.2.el6.x86_64-x86_64-with-centos-6.6-Final
[debug] exe versions: ffmpeg 2.6.2, ffprobe 2.6.2
[debug] Proxy map: {}
[youtube] RF0HhrwIwp0: Downloading webpage
[youtube] RF0HhrwIwp0: Extracting video information
[youtube] {43} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {18} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {5} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {36} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {17} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {135} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {244} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {134} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {243} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {133} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {242} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {160} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {140} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] {171} signature length 43.43, html5 player en_US-vflheTb7D
[youtube] RF0HhrwIwp0: Downloading DASH manifest
[debug] Invoking downloader on 'https://r14---sn-4g57knez.googlevideo.com/videoplayback?id=445d0786bc08c29d&itag=141&source=youtube&requiressl=yes&mv=u&ms=au&mm=31&nh=IgpwcjAyLmZyYTA1KgkxMjcuMC4wLjE&gcr=de&pl=32&ratebypass=yes&mime=audio/mp4&gir=yes&clen=6603379&lmt=1426234255067262&dur=207.098&upn=X8jSFAzn_Bw&signature=75248DFE40CDD35062B907A83C6D9E773939E64B.48BEBE10A62559D3BD8EE741F81B467DF6757857&sver=3&key=dg_yt0&mt=1430677976&fexp=900720,907263,934954,936118,938028,9406722,9407991,9408033,9408095,9408142,9408705,9408911,9409254,9412773,9412839,948124,952612,952637,952640,952642,957201&ip=2a00:d0c0:200:0:b9:1a:9c28:1&ipbits=0&expire=1430699721&sparams=ip,ipbits,expire,id,itag,source,requiressl,mv,ms,mm,nh,gcr,pl,ratebypass,mime,gir,clen,lmt,dur'
[download] Destination: /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a
[download] 100% of 6.30MiB in 00:04
[ffmpeg] Correcting container in "/home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a"
[debug] ffmpeg command line: ffmpeg -y -i /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a -c copy -f mp4 /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.temp.m4a
[debug] ffmpeg command line: ffprobe -show_streams /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a
[youtube] Post-process file /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a exists, skipping

However, when I run it from the terminal, the containers ARE corrected.

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented May 3, 2015

On PHP you also need to capture stderr (I don't know how)

@dstftw
Copy link
Collaborator

@dstftw dstftw commented May 3, 2015

@lordwilmore have you put --verbose in your php script?

@lordwilmore
Copy link
Author

@lordwilmore lordwilmore commented May 3, 2015

@dstftw yes, --verbose is turned on, i made this request:
[echo system('/bin/youtube-dl --verbose --extract-audio -o "/html/YouTubeDownloader/%(id)s.%(ext)s" RF0HhrwIwp0');]

and got that output:
[youtube] RF0HhrwIwp0: Downloading webpage [youtube] RF0HhrwIwp0: Extracting video information [youtube] {43} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {18} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {5} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {36} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {17} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {135} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {244} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {134} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {243} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {133} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {242} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {160} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {140} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {171} signature length 43.43, html5 player en_US-vflheTb7D [youtube] RF0HhrwIwp0: Downloading DASH manifest [debug] Invoking downloader on 'https://r14---sn-4g57knez.googlevideo.com/videoplayback?id=445d0786bc08c29d&itag=141&source=youtube&requiressl=yes&ms=au&mv=m&mm=31&gcr=de&pl=32&nh=IgpwcjA0LmZyYTAzKgkxMjcuMC4wLjE&ratebypass=yes&mime=audio/mp4&gir=yes&clen=6603379&lmt=1426234255067262&dur=207.098&mt=1430679744&upn=MlZTkp1YUrQ&sver=3&key=dg_yt0&signature=4CF18840EC04C893C59A7647584EDFE4BBD33AD4.2AC2C052EDCE37F03FCFEB7D96E084355BE361&fexp=900720,907263,934954,938028,939986,9406848,9406938,9407118,9407664,9407924,9407966,9408050,9408142,9408707,9409028,9412764,948124,952612,952637,952642,957201&ip=2a00:d0c0:200:0:b9:1a:9c28:1&ipbits=0&expire=1430701414&sparams=ip,ipbits,expire,id,itag,source,requiressl,ms,mv,mm,gcr,pl,nh,ratebypass,mime,gir,clen,lmt,dur' [download] Destination: /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a [download] 0.0% of 6.30MiB at 145.03KiB/s ETA 00:44 [download] 0.0% of 6.30MiB at 417.65KiB/s ETA 00:15 [download] 0.1% of 6.30MiB at 943.27KiB/s ETA 00:06 [download] 0.2% of 6.30MiB at 1.93MiB/s ETA 00:03 [download] 0.5% of 6.30MiB at 1.88MiB/s ETA 00:03 [download] 1.0% of 6.30MiB at 1.75MiB/s ETA 00:03 [download] 2.0% of 6.30MiB at 1.75MiB/s ETA 00:03 [download] 4.0% of 6.30MiB at 1.72MiB/s ETA 00:03 [download] 7.9% of 6.30MiB at 1.71MiB/s ETA 00:03 [download] 15.9% of 6.30MiB at 1.70MiB/s ETA 00:03 [download] 31.7% of 6.30MiB at 1.60MiB/s ETA 00:02 [download] 55.7% of 6.30MiB at 1.45MiB/s ETA 00:01 [download] 76.2% of 6.30MiB at 1.45MiB/s ETA 00:01 [download] 99.2% of 6.30MiB at 1.51MiB/s ETA 00:00 [download] 100.0% of 6.30MiB at 1.51MiB/s ETA 00:00 [download] 100% of 6.30MiB in 00:04 [ffmpeg] Correcting container in "/home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a" [debug] ffmpeg command line: ffmpeg -y -i /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a -c copy -f mp4 /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.temp.m4a [debug] ffmpeg command line: ffmpeg -y -i /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a -c copy -f mp4 /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.temp.m4a

@jaimeMF I googled and it seems like one can get the stderr by appending 2>&1 to the call, so now it lookes like this:
[echo system('/bin/youtube-dl --verbose --extract-audio -o "/html/YouTubeDownloader/%(id)s.%(ext)s" RF0HhrwIwp0 2>&1');]

That's the output:
[debug] System config: [] [debug] User config: [] [debug] Command-line args: [u'--verbose', u'--extract-audio', u'-o', u'~/html/YouTubeDownloader/%(id)s.%(ext)s', u'RF0HhrwIwp0'] [debug] Encodings: locale ANSI_X3.4-1968, fs ANSI_X3.4-1968, out None, pref ANSI_X3.4-1968 [debug] youtube-dl version 2015.04.28 [debug] Python version 2.6.6 - Linux-2.6.32-504.12.2.el6.x86_64-x86_64-with-centos-6.6-Final [debug] exe versions: ffmpeg 0.6.5, ffprobe 0.6.5 [debug] Proxy map: {} [youtube] RF0HhrwIwp0: Downloading webpage [youtube] RF0HhrwIwp0: Extracting video information [youtube] {43} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {18} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {5} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {36} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {17} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {135} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {244} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {134} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {243} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {133} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {242} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {160} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {140} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {171} signature length 43.43, html5 player en_US-vflheTb7D [youtube] RF0HhrwIwp0: Downloading DASH manifest [debug] Invoking downloader on 'https://r14---sn-4g57knez.googlevideo.com/videoplayback?id=445d0786bc08c29d&itag=141&source=youtube&requiressl=yes&gcr=de&mm=31&mv=m&ms=au&pl=32&nh=IgpwcjA0LmZyYTAzKgkxMjcuMC4wLjE&ratebypass=yes&mime=audio/mp4&gir=yes&clen=6603379&lmt=1426234255067262&dur=207.098&fexp=900720,907263,916727,924637,936025,937412,938028,938688,9405185,9406848,9407642,9408708,9409175,9409231,9410645,9412987,9413103,948124,952612,952637,952642,957201&mt=1430679378&upn=QpcAhdMPTaE&key=dg_yt0&signature=053C545F2A78908D54C725FFA2F0486D4931C2B5.13BEC42044D3DC822C3160C4641CE6EB16B48036&sver=3&ip=2a00:d0c0:200:0:b9:1a:9c28:1&ipbits=0&expire=1430701081&sparams=ip,ipbits,expire,id,itag,source,requiressl,gcr,mm,mv,ms,pl,nh,ratebypass,mime,gir,clen,lmt,dur' [download] Destination: /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a [download] 0.0% of 6.30MiB at 24.08KiB/s ETA 04:28 [download] 0.0% of 6.30MiB at 71.43KiB/s ETA 01:30 [download] 0.1% of 6.30MiB at 165.63KiB/s ETA 00:38 [download] 0.2% of 6.30MiB at 353.36KiB/s ETA 00:18 [download] 0.5% of 6.30MiB at 538.51KiB/s ETA 00:11 [download] 1.0% of 6.30MiB at 515.75KiB/s ETA 00:12 [download] 2.0% of 6.30MiB at 531.07KiB/s ETA 00:11 [download] 4.0% of 6.30MiB at 644.86KiB/s ETA 00:09 [download] 7.9% of 6.30MiB at 802.42KiB/s ETA 00:07 [download] 15.9% of 6.30MiB at 1.06MiB/s ETA 00:04 [download] 31.7% of 6.30MiB at 1.08MiB/s ETA 00:03 [download] 49.1% of 6.30MiB at 1.28MiB/s ETA 00:02 [download] 79.8% of 6.30MiB at 1.40MiB/s ETA 00:00 [download] 100.0% of 6.30MiB at 1.45MiB/s ETA 00:00 [download] 100% of 6.30MiB in 00:04 [ffmpeg] Correcting container in "/home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a" WARNING: Your copy of ffmpeg is outdated, update ffmpeg to version 1.0 or newer if you encounter any errors. [debug] ffmpeg command line: ffmpeg -y -i /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a -c copy -f mp4 /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.temp.m4a ERROR: Unrecognized option 'c' Traceback (most recent call last): File "/home/inventor/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1512, in post_process files_to_delete, info = pp.run(info) File "/home/inventor/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 623, in run self.run_ffmpeg(filename, temp_filename, options) File "/home/inventor/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 152, in run_ffmpeg self.run_ffmpeg_multiple_files([path], out_path, opts) File "/home/inventor/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 148, in run_ffmpeg_multiple_files raise FFmpegPostProcessorError(msg) FFmpegPostProcessorError

@dstftw
Copy link
Collaborator

@dstftw dstftw commented May 3, 2015

@lordwilmore as you can see from log

exe versions: ffmpeg 0.6.5, ffprobe 0.6.5

ffmpeg that is running from script is very old. Update it.

@dstftw dstftw closed this May 3, 2015
@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented May 3, 2015

Are you running from the server and the command line on the same computer and user?
In the apache log it says ffmpeg 0.6.5, which is really old.

@lordwilmore
Copy link
Author

@lordwilmore lordwilmore commented May 3, 2015

That is weird indeed, because I have contacted my web hoster and he updated it. Also running "ffmpeg -v" from the console outputs: "ffmpeg version 2.6.2 Copyright (c) 2000-2015 the FFmpeg developers"

also the weird thing is that as mentioned above, ffmpeg actually works with youtube-dl when I call it from the command line.

and yes, I do run the php and the command on the same server, i also save the files in the same directory.

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented May 3, 2015

You should compare the output of which ffmpeg from the command line and from php. They may have a different PATH variable.

@lordwilmore
Copy link
Author

@lordwilmore lordwilmore commented May 3, 2015

calling "which ffmpeg" from terminal outputs: ~/.toast/armed/bin/ffmpeg

calling "which ffmpeg" from php outputs: /usr/bin/ffmpeg /usr/bin/ffmpeg

So you might actually have a point here. However running the code and giving the correct ffmpeg path still does not correct the audio header:

[echo system('~/bin/youtube-dl --ffmpeg-location /.toast/armed/bin/ffmpeg --extract-audio -o "/html/YouTubeDownloader/%(id)s.%(ext)s" RF0HhrwIwp0');]

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented May 3, 2015

We can't help without the output with the --verbose option.

@lordwilmore
Copy link
Author

@lordwilmore lordwilmore commented May 3, 2015

this call: echo system('~/bin/youtube-dl --verbose --ffmpeg-location /.toast/armed/bin/ffmpeg --extract-audio -o "/html/YouTubeDownloader/%(id)s.%(ext)s" RF0HhrwIwp0 2>&1')

this output:
[debug] System config: [] [debug] User config: [] [debug] Command-line args: [u'--verbose', u'--ffmpeg-location', u'/home/inventor/.toast/armed/bin/ffmpeg', u'--extract-audio', u'-o', u'~/html/YouTubeDownloader/%(id)s.%(ext)s', u'RF0HhrwIwp0'] [debug] Encodings: locale ANSI_X3.4-1968, fs ANSI_X3.4-1968, out None, pref ANSI_X3.4-1968 [debug] youtube-dl version 2015.04.28 [debug] Python version 2.6.6 - Linux-2.6.32-504.12.2.el6.x86_64-x86_64-with-centos-6.6-Final [debug] exe versions: ffmpeg present, ffprobe present [debug] Proxy map: {} [youtube] RF0HhrwIwp0: Downloading webpage [youtube] RF0HhrwIwp0: Extracting video information [youtube] {43} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {18} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {5} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {36} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {17} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {135} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {244} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {134} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {243} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {133} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {242} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {160} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {140} signature length 43.43, html5 player en_US-vflheTb7D [youtube] {171} signature length 43.43, html5 player en_US-vflheTb7D [youtube] RF0HhrwIwp0: Downloading DASH manifest [debug] Invoking downloader on 'https://r14---sn-4g57knez.googlevideo.com/videoplayback?id=445d0786bc08c29d&itag=141&source=youtube&requiressl=yes&gcr=de&nh=IgpwcjAyLmZyYTA1KgkxMjcuMC4wLjE&mm=31&mv=u&ms=au&pl=32&ratebypass=yes&mime=audio/mp4&gir=yes&clen=6603379&lmt=1426234255067262&dur=207.098&upn=hCyQ7ATQPjI&key=dg_yt0&fexp=900720,907263,934954,938028,9407992,9408142,9408245,9408708,9409294,9412942,948124,948808,952612,952637,952642,957201&mt=1430681635&sver=3&signature=8379B79CEEBAD4567B077CFF4DCBF8BE6BD06E4A.93C3906E5D1D4BEF19DDA01E5C68E6213EAB4771&ip=2a00:d0c0:200:0:b9:1a:9c28:1&ipbits=0&expire=1430703570&sparams=ip,ipbits,expire,id,itag,source,requiressl,gcr,nh,mm,mv,ms,pl,ratebypass,mime,gir,clen,lmt,dur' [download] Destination: /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a [download] 0.0% of 6.30MiB at 118.27KiB/s ETA 00:55 [download] 0.0% of 6.30MiB at 333.37KiB/s ETA 00:19 [download] 0.1% of 6.30MiB at 743.97KiB/s ETA 00:08 [download] 0.2% of 6.30MiB at 1.49MiB/s ETA 00:04 [download] 0.5% of 6.30MiB at 1.74MiB/s ETA 00:03 [download] 1.0% of 6.30MiB at 1.76MiB/s ETA 00:03 [download] 2.0% of 6.30MiB at 1.77MiB/s ETA 00:03 [download] 4.0% of 6.30MiB at 1.73MiB/s ETA 00:03 [download] 7.9% of 6.30MiB at 1.74MiB/s ETA 00:03 [download] 15.9% of 6.30MiB at 1.71MiB/s ETA 00:03 [download] 31.7% of 6.30MiB at 1.66MiB/s ETA 00:02 [download] 57.2% of 6.30MiB at 1.63MiB/s ETA 00:01 [download] 82.5% of 6.30MiB at 1.61MiB/s ETA 00:00 [download] 100.0% of 6.30MiB at 1.63MiB/s ETA 00:00 [download] 100% of 6.30MiB in 00:03 [ffmpeg] Correcting container in "/home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a" [debug] ffmpeg command line: /home/inventor/.toast/armed/bin/ffmpeg -y -i /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.m4a -c copy -f mp4 /home/inventor/html/YouTubeDownloader/RF0HhrwIwp0.temp.m4a ERROR: /home/inventor/.toast/armed/bin/ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory Traceback (most recent call last): File "/home/inventor/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1512, in post_process files_to_delete, info = pp.run(info) File "/home/inventor/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 623, in run self.run_ffmpeg(filename, temp_filename, options) File "/home/inventor/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 152, in run_ffmpeg self.run_ffmpeg_multiple_files([path], out_path, opts) File "/home/inventor/bin/youtube-dl/youtube_dl/postprocessor/ffmpeg.py", line 148, in run_ffmpeg_multiple_files raise FFmpegPostProcessorError(msg) FFmpegPostProcessorError

is that sufficient or do you need anything else?

and is that "--ffmpeg-location ~/.toast/armed/bin/ffmpeg" correct? Or do i have to set the location differently?

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented May 3, 2015

There's something in your copy on ffmpeg:

 ERROR: /home/inventor/.toast/armed/bin/ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: 

Does /home/inventor/.toast/armed/bin/ffmpeg work if you manually run it?

@lordwilmore
Copy link
Author

@lordwilmore lordwilmore commented May 3, 2015

from the terminal it outputs:
ffmpeg version 2.6.2 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-11)
configuration: --prefix=/home/inventor/.toast/armed --enable-shared
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

from php:
/home/inventor/.toast/armed/bin/ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory /home/inventor/.toast/armed/bin/ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented May 4, 2015

Maybe it's an issue with $LD_LIBRARY_PATH. Try to specify it in PHP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.