miketuckman / TabloExtract

Python script to extract files from TabloTV
13 stars 10 forks source link

OSError: [Errno 36] File name too long #1

Open apci-cclaflin opened 10 years ago

apci-cclaflin commented 10 years ago

Running this script on clean install of CentOS 7 inside of Virtual Box and am getting the following errors:

./TabloToGo.v1.py -db:/root/tablo/tablo2go.db -Tablo:XX.XX.XX.XX -ffmpeg:/usr/bin/ffmpeg -output:/mnt/nfs/tablo -temp:/root/tablo "Unforgettable"

miketuckman commented 10 years ago

Can you run the same command but with the -debug option and post the results?

apci-cclaflin commented 10 years ago

Sure, was actually doing that at this very moment.

100% /usr/bin/ffmpeg -y -i "concat:/root/tablo/19148-00001.ts|/root/tablo/19148-00002.ts|/root/tablo/19148-00003.ts|/root/tablo/19148-00004.ts|/root/tablo/19148-00005.ts|/root/tablo/19148-00006.ts|/root/tablo/19148-00007.ts|/root/tablo/19148-00008.ts|/root/tablo/19148-00009.ts|/root/tablo/19148-00010.ts|/root/tablo/19148-00011.ts|/root/tablo/19148-00012.ts|/root/tablo/19148-00013.ts|/root/tablo/19148-00014.ts|/root/tablo/19148-00015.ts|/root/tablo/19148-00016.ts|/root/tablo/19148-00017.ts|/root/tablo/19148-00018.ts|/root/tablo/19148-00019.ts|/root/tablo/19148-00020.ts|/root/tablo/19148-00021.ts|/root/tablo/19148-00022.ts|/root/tablo/19148-00023.ts|/root/tablo/19148-00024.ts|/root/tablo/19148-00025.ts|/root/tablo/19148-00026.ts|/root/tablo/19148-00027.ts|/root/tablo/19148-00028.ts|/root/tablo/19148-00029.ts|/root/tablo/19148-00030.ts|/root/tablo/19148-00031.ts|/root/tablo/19148-00032.ts|/root/tablo/19148-00033.ts|/root/tablo/19148-00034.ts|/root/tablo/19148-00035.ts|/root/tablo/19148-00036.ts|/root/tablo/19148-00037.ts|/root/tablo/19148-00038.ts|/root/tablo/19148-00039.ts|/root/tablo/19148-00040.ts|/root/tablo/19148-00041.ts|/root/tablo/19148-00042.ts|/root/tablo/19148-00043.ts|/root/tablo/19148-00044.ts|/root/tablo/19148-00045.ts|/root/tablo/19148-00046.ts|/root/tablo/19148-00047.ts|/root/tablo/19148-00048.ts|/root/tablo/19148-00049.ts|/root/tablo/19148-00050.ts|/root/tablo/19148-00051.ts|/root/tablo/19148-00052.ts|/root/tablo/19148-00053.ts|/root/tablo/19148-00054.ts|/root/tablo/19148-00055.ts|/root/tablo/19148-00056.ts|/root/tablo/19148-00057.ts|/root/tablo/19148-00058.ts|/root/tablo/19148-00059.ts|/root/tablo/19148-00060.ts|/root/tablo/19148-00061.ts|/root/tablo/19148-00062.ts|/root/tablo/19148-00063.ts|/root/tablo/19148-00064.ts|/root/tablo/19148-00065.ts|/root/tablo/19148-00066.ts|/root/tablo/19148-00067.ts|/root/tablo/19148-00068.ts|/root/tablo/19148-00069.ts|/root/tablo/19148-00070.ts|/root/tablo/19148-00071.ts|/root/tablo/19148-00072.ts|/root/tablo/19148-00073.ts|/root/tablo/19148-00074.ts|/root/tablo/19148-00075.ts|/root/tablo/19148-00076.ts|/root/tablo/19148-00077.ts|/root/tablo/19148-00078.ts|/root/tablo/19148-00079.ts|/root/tablo/19148-00080.ts|/root/tablo/19148-00081.ts|/root/tablo/19148-00082.ts|/root/tablo/19148-00083.ts|/root/tablo/19148-00084.ts|/root/tablo/19148-00085.ts|/root/tablo/19148-00086.ts|/root/tablo/19148-00087.ts|/root/tablo/19148-00088.ts|/root/tablo/19148-00089.ts|/root/tablo/19148-00090.ts|/root/tablo/19148-00091.ts|/root/tablo/19148-00092.ts|/root/tablo/19148-00093.ts|/root/tablo/19148-00094.ts|/root/tablo/19148-00095.ts|/root/tablo/19148-00096.ts|/root/tablo/19148-00097.ts|/root/tablo/19148-00098.ts|/root/tablo/19148-00099.ts|/root/tablo/19148-00100.ts|/root/tablo/19148-00101.ts|/root/tablo/19148-00102.ts|/root/tablo/19148-00103.ts|/root/tablo/19148-00104.ts|/root/tablo/19148-00105.ts|/root/tablo/19148-00106.ts|/root/tablo/19148-00107.ts|/root/tablo/19148-00108.ts|/root/tablo/19148-00109.ts|/root/tablo/19148-00110.ts|/root/tablo/19148-00111.ts|/root/tablo/19148-00112.ts|/root/tablo/19148-00113.ts|/root/tablo/19148-00114.ts|/root/tablo/19148-00115.ts|/root/tablo/19148-00116.ts|/root/tablo/19148-00117.ts|/root/tablo/19148-00118.ts|/root/tablo/19148-00119.ts|/root/tablo/19148-00120.ts|/root/tablo/19148-00121.ts|/root/tablo/19148-00122.ts|/root/tablo/19148-00123.ts|/root/tablo/19148-00124.ts|/root/tablo/19148-00125.ts|/root/tablo/19148-00126.ts|/root/tablo/19148-00127.ts|/root/tablo/19148-00128.ts|/root/tablo/19148-00129.ts|/root/tablo/19148-00130.ts|/root/tablo/19148-00131.ts|/root/tablo/19148-00132.ts|/root/tablo/19148-00133.ts|/root/tablo/19148-00134.ts|/root/tablo/19148-00135.ts|/root/tablo/19148-00136.ts|/root/tablo/19148-00137.ts|/root/tablo/19148-00138.ts|/root/tablo/19148-00139.ts|/root/tablo/19148-00140.ts|/root/tablo/19148-00141.ts|/root/tablo/19148-00142.ts|/root/tablo/19148-00143.ts|/root/tablo/19148-00144.ts|/root/tablo/19148-00145.ts|/root/tablo/19148-00146.ts|/root/tablo/19148-00147.ts|/root/tablo/19148-00148.ts|/root/tablo/19148-00149.ts|/root/tablo/19148-00150.ts|/root/tablo/19148-00151.ts|/root/tablo/19148-00152.ts|/root/tablo/19148-00153.ts|/root/tablo/19148-00154.ts|/root/tablo/19148-00155.ts|/root/tablo/19148-00156.ts|/root/tablo/19148-00157.ts|/root/tablo/19148-00158.ts|/root/tablo/19148-00159.ts|/root/tablo/19148-00160.ts|/root/tablo/19148-00161.ts|/root/tablo/19148-00162.ts|/root/tablo/19148-00163.ts|/root/tablo/19148-00164.ts|/root/tablo/19148-00165.ts|/root/tablo/19148-00166.ts|/root/tablo/19148-00167.ts|/root/tablo/19148-00168.ts|/root/tablo/19148-00169.ts|/root/tablo/19148-00170.ts|/root/tablo/19148-00171.ts|/root/tablo/19148-00172.ts|/root/tablo/19148-00173.ts|/root/tablo/19148-00174.ts|/root/tablo/19148-00175.ts|/root/tablo/19148-00176.ts|/root/tablo/19148-00177.ts|/root/tablo/19148-00178.ts|/root/tablo/19148-00179.ts|/root/tablo/19148-00180.ts|/root/tablo/19148-00181.ts|/root/tablo/19148-00182.ts|/root/tablo/19148-00183.ts|/root/tablo/19148-00184.ts|/root/tablo/19148-00185.ts|/root/tablo/19148-00186.ts|/root/tablo/19148-00187.ts|/root/tablo/19148-00188.ts|/root/tablo/19148-00189.ts|/root/tablo/19148-00190.ts|/root/tablo/19148-00191.ts|/root/tablo/19148-00192.ts|/root/tablo/19148-00193.ts|/root/tablo/19148-00194.ts|/root/tablo/19148-00195.ts|/root/tablo/19148-00196.ts|/root/tablo/19148-00197.ts|/root/tablo/19148-00198.ts|/root/tablo/19148-00199.ts|/root/tablo/19148-00200.ts|/root/tablo/19148-00201.ts|/root/tablo/19148-00202.ts|/root/tablo/19148-00203.ts|/root/tablo/19148-00204.ts|/root/tablo/19148-00205.ts|/root/tablo/19148-00206.ts|/root/tablo/19148-00207.ts|/root/tablo/19148-00208.ts|/root/tablo/19148-00209.ts|/root/tablo/19148-00210.ts|/root/tablo/19148-00211.ts|/root/tablo/19148-00212.ts|/root/tablo/19148-00213.ts|/root/tablo/19148-00214.ts|/root/tablo/19148-00215.ts|/root/tablo/19148-00216.ts|/root/tablo/19148-00217.ts|/root/tablo/19148-00218.ts|/root/tablo/19148-00219.ts|/root/tablo/19148-00220.ts|/root/tablo/19148-00221.ts|/root/tablo/19148-00222.ts|/root/tablo/19148-00223.ts|/root/tablo/19148-00224.ts|/root/tablo/19148-00225.ts|/root/tablo/19148-00226.ts|/root/tablo/19148-00227.ts|/root/tablo/19148-00228.ts|/root/tablo/19148-00229.ts|/root/tablo/19148-00230.ts|/root/tablo/19148-00231.ts|/root/tablo/19148-00232.ts|/root/tablo/19148-00233.ts|/root/tablo/19148-00234.ts|/root/tablo/19148-00235.ts|/root/tablo/19148-00236.ts|/root/tablo/19148-00237.ts|/root/tablo/19148-00238.ts|/root/tablo/19148-00239.ts|/root/tablo/19148-00240.ts|/root/tablo/19148-00241.ts|/root/tablo/19148-00242.ts|/root/tablo/19148-00243.ts|/root/tablo/19148-00244.ts|/root/tablo/19148-00245.ts|/root/tablo/19148-00246.ts|/root/tablo/19148-00247.ts|/root/tablo/19148-00248.ts|/root/tablo/19148-00249.ts|/root/tablo/19148-00250.ts|/root/tablo/19148-00251.ts|/root/tablo/19148-00252.ts|/root/tablo/19148-00253.ts|/root/tablo/19148-00254.ts|/root/tablo/19148-00255.ts|/root/tablo/19148-00256.ts|/root/tablo/19148-00257.ts|/root/tablo/19148-00258.ts|/root/tablo/19148-00259.ts|/root/tablo/19148-00260.ts|/root/tablo/19148-00261.ts|/root/tablo/19148-00262.ts|/root/tablo/19148-00263.ts|/root/tablo/19148-00264.ts|/root/tablo/19148-00265.ts|/root/tablo/19148-00266.ts|/root/tablo/19148-00267.ts|/root/tablo/19148-00268.ts|/root/tablo/19148-00269.ts|/root/tablo/19148-00270.ts|/root/tablo/19148-00271.ts|/root/tablo/19148-00272.ts|/root/tablo/19148-00273.ts|/root/tablo/19148-00274.ts|/root/tablo/19148-00275.ts|/root/tablo/19148-00276.ts|/root/tablo/19148-00277.ts|/root/tablo/19148-00278.ts|/root/tablo/19148-00279.ts|/root/tablo/19148-00280.ts|/root/tablo/19148-00281.ts|/root/tablo/19148-00282.ts|/root/tablo/19148-00283.ts|/root/tablo/19148-00284.ts|/root/tablo/19148-00285.ts|/root/tablo/19148-00286.ts|/root/tablo/19148-00287.ts|/root/tablo/19148-00288.ts|/root/tablo/19148-00289.ts|/root/tablo/19148-00290.ts|/root/tablo/19148-00291.ts|/root/tablo/19148-00292.ts|/root/tablo/19148-00293.ts|/root/tablo/19148-00294.ts|/root/tablo/19148-00295.ts|/root/tablo/19148-00296.ts|/root/tablo/19148-00297.ts|/root/tablo/19148-00298.ts|/root/tablo/19148-00299.ts|/root/tablo/19148-00300.ts|/root/tablo/19148-00301.ts|/root/tablo/19148-00302.ts|/root/tablo/19148-00303.ts|/root/tablo/19148-00304.ts|/root/tablo/19148-00305.ts|/root/tablo/19148-00306.ts|/root/tablo/19148-00307.ts|/root/tablo/19148-00308.ts|/root/tablo/19148-00309.ts|/root/tablo/19148-00310.ts|/root/tablo/19148-00311.ts|/root/tablo/19148-00312.ts|/root/tablo/19148-00313.ts|/root/tablo/19148-00314.ts|/root/tablo/19148-00315.ts|/root/tablo/19148-00316.ts|/root/tablo/19148-00317.ts|/root/tablo/19148-00318.ts|/root/tablo/19148-00319.ts|/root/tablo/19148-00320.ts|/root/tablo/19148-00321.ts|/root/tablo/19148-00322.ts|/root/tablo/19148-00323.ts|/root/tablo/19148-00324.ts|/root/tablo/19148-00325.ts|/root/tablo/19148-00326.ts|/root/tablo/19148-00327.ts|/root/tablo/19148-00328.ts|/root/tablo/19148-00329.ts|/root/tablo/19148-00330.ts|/root/tablo/19148-00331.ts|/root/tablo/19148-00332.ts|/root/tablo/19148-00333.ts|/root/tablo/19148-00334.ts|/root/tablo/19148-00335.ts|/root/tablo/19148-00336.ts|/root/tablo/19148-00337.ts|/root/tablo/19148-00338.ts|/root/tablo/19148-00339.ts|/root/tablo/19148-00340.ts|/root/tablo/19148-00341.ts|/root/tablo/19148-00342.ts|/root/tablo/19148-00343.ts|/root/tablo/19148-00344.ts|/root/tablo/19148-00345.ts|/root/tablo/19148-00346.ts|/root/tablo/19148-00347.ts|/root/tablo/19148-00348.ts|/root/tablo/19148-00349.ts|/root/tablo/19148-00350.ts|/root/tablo/19148-00351.ts|/root/tablo/19148-00352.ts|/root/tablo/19148-00353.ts|/root/tablo/19148-00354.ts|/root/tablo/19148-00355.ts|/root/tablo/19148-00356.ts|/root/tablo/19148-00357.ts|/root/tablo/19148-00358.ts|/root/tablo/19148-00359.ts|/root/tablo/19148-00360.ts|/root/tablo/19148-00361.ts|/root/tablo/19148-00362.ts|/root/tablo/19148-00363.ts|/root/tablo/19148-00364.ts|/root/tablo/19148-00365.ts|/root/tablo/19148-00366.ts|/root/tablo/19148-00367.ts|/root/tablo/19148-00368.ts|/root/tablo/19148-00369.ts|/root/tablo/19148-00370.ts|/root/tablo/19148-00371.ts|/root/tablo/19148-00372.ts|/root/tablo/19148-00373.ts|/root/tablo/19148-00374.ts|/root/tablo/19148-00375.ts|/root/tablo/19148-00376.ts|/root/tablo/19148-00377.ts|/root/tablo/19148-00378.ts|/root/tablo/19148-00379.ts|/root/tablo/19148-00380.ts|/root/tablo/19148-00381.ts|/root/tablo/19148-00382.ts|/root/tablo/19148-00383.ts|/root/tablo/19148-00384.ts|/root/tablo/19148-00385.ts|/root/tablo/19148-00386.ts|/root/tablo/19148-00387.ts|/root/tablo/19148-00388.ts|/root/tablo/19148-00389.ts|/root/tablo/19148-00390.ts|/root/tablo/19148-00391.ts|/root/tablo/19148-00392.ts" -bsf:a aac_adtstoasc -c copy "/mnt/nfs/tablo/Unforgettable/Unforgettable - S03E03 - The Haircut.mp4" Traceback (most recent call last): File "./TabloToGo.v1.py", line 516, in get_video(item[0], item[1], NDIR, TEMPDIR, FFMPEG, item[2], DEBUG, TESTING) File "./TabloToGo.v1.py", line 122, in get_video subprocess.call(cmd) File "/usr/lib64/python2.7/subprocess.py", line 524, in call return Popen(_popenargs, *_kwargs).wait() File "/usr/lib64/python2.7/subprocess.py", line 711, in init errread, errwrite) File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child raise child_exception OSError: [Errno 36] File name too long

miketuckman commented 10 years ago

Not sure why it is throwing the File name too long on the FFMPEG call.

Another favor? Can you run it with -testing option, to see if it is having a problem with the concat list, the output file, or the actual call to FFMPEG? That will retrieve only 5 files from Tablo and then try to concat them.

apci-cclaflin commented 10 years ago

./TabloToGo.v1.py -db:/root/tablo/tablo2go.db -Tablo:XX.XX.XX.XX -ffmpeg:/usr/bin/ffmpeg -output:/mnt/nfs/tablo -temp:/root/tablo "Unforgettable" -debug -testing

/usr/bin/ffmpeg -y -i "concat:/root/tablo/19148-00001.ts|/root/tablo/19148-00002.ts|/root/tablo/19148-00003.ts|/root/tablo/19148-00004.ts|/root/tablo/19148-00005.ts" -bsf:a aac_adtstoasc -c copy "/mnt/nfs/tablo/Unforgettable/Unforgettable - S03E03 - The Haircut.mp4" Traceback (most recent call last): File "./TabloToGo.v1.py", line 516, in get_video(item[0], item[1], NDIR, TEMPDIR, FFMPEG, item[2], DEBUG, TESTING) File "./TabloToGo.v1.py", line 122, in get_video subprocess.call(cmd) File "/usr/lib64/python2.7/subprocess.py", line 524, in call return Popen(_popenargs, *_kwargs).wait() File "/usr/lib64/python2.7/subprocess.py", line 711, in init errread, errwrite) File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory

apci-cclaflin commented 10 years ago

I just copied/pasted the entire ffmpeg command from above and it processed the output file in little over a minute.

miketuckman commented 10 years ago

Which one worked - the original really long one or the one with just 5 segments?

Been looking into changing it to use an input file for the segments so that the command call is short compared to doing the "concat:xxxx" - I am having problems with a couple of shows that exceed 4 hours that would resolved doing that.

Let me also look into if there is a difference in how the subprocess.call is processed CentOS 7.

apci-cclaflin commented 10 years ago

Sorry, the original really long one. It produced a 2GB mp4 file.

miketuckman commented 10 years ago

Great! That means that the command itself is valid, that is just how subprocess.call is being handled by the OS. Let me see what I can do about that!