I'm working on a program atm that can read MP3 Tag Info from .mp3 files using ffmpeg.
Code: Select all
"$FFMPEGBIN" -i "$FILE" > $TEMPDIR/tmp_id3ffmpeg$FILENAME 2>&1
FF_LENGTH="`grep -wm1 "Duration:" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d. -f1 | awk -F':' '{print $3":"$4}'`"
FF_BITRATE="`grep -wm1 "Audio:" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f4 | awk -F' ' '{print $6}' | tr ',' ' '`"
FF_FORMAT="`grep -wm1 "Audio:" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f4 | awk -F' ' '{print $1}' | tr ',' ' '`"
ID3_TITLE="`grep -wim1 "^ title" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f2- | cut -d' ' -f2-`"
ID3_ARTIST="`grep -wim1 "^ artist" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f2- | cut -d' ' -f2-`"
ID3_ALBUM="`grep -wim1 "^ album" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f2- | cut -d' ' -f2-`"
ID3_DISC="`grep -wim1 "^ disc" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f2- | cut -d' ' -f2-`"
ID3_YEAR="`grep -wim1 "^ year" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f2- | cut -d' ' -f2-`"
ID3_DATE="`grep -wim1 "^ date" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f2- | cut -d' ' -f2-`"
ID3_COMMENT="`grep -wim1 "^ comment" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f2- | cut -d' ' -f2-`"
ID3_TRACK="`grep -wim1 "^ track" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f2- | cut -d' ' -f2-`"
ID3_GENRE="`grep -wim1 "^ genre" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f2- | cut -d' ' -f2-`"
ID3_ALBUMART="`grep -wm1 "Video:" $TEMPDIR/tmp_id3ffmpeg$FILENAME | cut -d: -f4 | awk -F' ' '{print $1}' | tr ',' ' '`"
echo "$FF_LENGTH" > $TEMPDIR/SongLength
[ -f $TEMPDIR/id3_info ] && rm -f $TEMPDIR/id3_info
echo -n "" > $TEMPDIR/id3_info
echo "FFMPEG: `basename "$FFMPEGBIN"`" > $TEMPDIR/id3_info
echo "File: $FILEBN" >> $TEMPDIR/id3_info
echo "Length: $FF_LENGTH" >> $TEMPDIR/id3_info
echo "Artist: $ID3_ARTIST" >> $TEMPDIR/id3_info
echo "Album: $ID3_ALBUM" >> $TEMPDIR/id3_info
echo "Title: $ID3_TITLE" >> $TEMPDIR/id3_info
echo "Track: $ID3_TRACK" >> $TEMPDIR/id3_info
echo "Genre: $ID3_GENRE" >> $TEMPDIR/id3_info
echo "Year: $ID3_YEAR" >> $TEMPDIR/id3_info
echo "Date: $ID3_DATE" >> $TEMPDIR/id3_info
echo "Comment: $ID3_COMMENT" >> $TEMPDIR/id3_info
echo "Bit Rate: $FF_BITRATE" >> $TEMPDIR/id3_info
echo "Format: $FF_FORMAT" >> $TEMPDIR/id3_info
echo "Album Art: $ID3_ALBUMART" >> $TEMPDIR/id3_info
Is that possible from within a shell script?
Any hints of how to achieve?
Thanks.