diff options
-rw-r--r-- | odin/strm/download_youtube | 53 |
1 files changed, 29 insertions, 24 deletions
diff --git a/odin/strm/download_youtube b/odin/strm/download_youtube index d6e41865..4d351cd5 100644 --- a/odin/strm/download_youtube +++ b/odin/strm/download_youtube | |||
@@ -293,31 +293,36 @@ printf ">>> %s <<<\n %s\n" "${msgId}" "${message}" | |||
293 | 293 | ||
294 | [[ "${bare_amp}" -ne 0 ]] && p2args+=(-af "${amp}") | 294 | [[ "${bare_amp}" -ne 0 ]] && p2args+=(-af "${amp}") |
295 | 295 | ||
296 | local success=false | 296 | transcodeStdout=$(mktemp --tmpdir "transcode.stdout.${0:t}.$$.XXXXXX") |
297 | 297 | cleanup rm -rfv -- ${transcodeStdout} | |
298 | if [[ $#prePass -gt 0 ]]; then | 298 | transcodeStderr=$(mktemp --tmpdir "transcode.stderr.${0:t}.$$.XXXXXX") |
299 | args+=(-v info -i ${tempfile}) | 299 | cleanup rm -rfv -- ${transcodeStderr} |
300 | 300 | ||
301 | oldPwd=${PWD} | 301 | ( |
302 | cd $(mktemp -d --tmpdir "transcode.${0:t}.$$.XXXXXX") | 302 | if [[ $#prePass -gt 0 ]]; then |
303 | cleanup rm -rfv -- ${PWD} | 303 | args+=(-v info -i ${tempfile}) |
304 | 304 | ||
305 | p1args+=(-an -f matroska) | 305 | oldPwd=${PWD} |
306 | print -- ${prePass} ${p1args} | 306 | cd $(mktemp -d --tmpdir "transcode.${0:t}.$$.XXXXXX") |
307 | ffmpeg ${args} ${prePass} ${p1args} -- /dev/null | 307 | cleanup rm -rfv -- ${PWD} |
308 | 308 | ||
309 | print -- ${cargs} ${p2args} | 309 | p1args+=(-an -f matroska) |
310 | ffmpeg ${args} ${cargs} ${p2args} -- "${filename}" && success=true | 310 | print -- ${prePass} ${p1args} |
311 | 311 | ffmpeg ${args} ${prePass} ${p1args} -- /dev/null | |
312 | cd ${oldPwd} | 312 | |
313 | else | 313 | print -- ${cargs} ${p2args} |
314 | args+=(-v warning -i pipe:0) | 314 | ffmpeg ${args} ${cargs} ${p2args} -- "${filename}" |
315 | 315 | ||
316 | print -- ${cargs} ${p2args} | 316 | cd ${oldPwd} |
317 | pv -N "$(trimName "trans:" ${title})" ${tempfile} | ffmpeg ${args} ${cargs} ${p2args} -- "${filename}" && success=true | 317 | else |
318 | fi | 318 | args+=(-v warning -i pipe:0) |
319 | |||
320 | print -- ${cargs} ${p2args} | ||
321 | pv -N "$(trimName "trans:" ${title})" ${tempfile} | ffmpeg ${args} ${cargs} ${p2args} -- "${filename}" | ||
322 | fi | ||
323 | ) >&1 >${transcodeStdout} 2>&2 2>${transcodeStderr} | ||
319 | 324 | ||
320 | if ${success}; then | 325 | if grep -qv "Invalid encoder type" ${transcodeStdout} ${transcodeStderr}; then |
321 | printf "Successfully transcoded using transMode=%s\n" ${transMode} | 326 | printf "Successfully transcoded using transMode=%s\n" ${transMode} |
322 | break | 327 | break |
323 | fi | 328 | fi |