On 07/13/2017 03:22 PM, Moritz Barsnick wrote:
On Thu, Jul 13, 2017 at 15:11:56 -0600, JD wrote:

Your filename does not contain parentheses, brackets and single quotes
and unprintable characters that
MANY files I download contain in their names.
And THAT is the crux of the problem.
That's no crux.

$ for file in *.mkv; do ffmpeg -i "$file" -map 0:a -c:a libmp3lame 
/targetdir/"${f%.mkv}".mp3; done

Fixed that for you. Never forget to quote your variables.

Moritz
Thanx to all.
What I did is  tedious, but I had no choice.
Double quoting the filenames did not solve my problem.
So, I simply gathered all the filenames (find . -name \*.mkv -o -name \*.mp4 -o -name \*.webm)
into a file which I edited and turned it into a script that
removed single quotes, unprintable characters, square brackets, commas, and
replaced all spaces with underscores - of course, used the mv command to move
the files to the new names.
I retried the script as follows:



while read f; do
N=`basename "$f" | sed -e 's/mkv//' -e 's/mp4//' -e 's/webm//'`
/bin/ffmpeg -i "$f" -map 0:a -c:a libmp3lame -ab 320k -ac 2 -y $D/$N"mp3"
done < VIDEO_FILES  > FFMPEG_ERRORS 2>&1

And I am still getting parse errors, because ffmpeg is UNABLE to parse long filenames.

What makes it even more confusing, the parse error message appears within or between the console output
of transcoding a previous file.


_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to