X-Git-Url: https://git.plutz.net/?p=rawnet;a=blobdiff_plain;f=db_video.sh;fp=db_video.sh;h=05fe1e2da97ab229936a206d2396ff6c9c330568;hp=78d108551af1c120f64cdf9f502ee5f74ae871d0;hb=45879706651a39f9456af903f27f68f7e6ca08ad;hpb=eaa8b25194f1c98e481cf999d6926fe2c249d29f diff --git a/db_video.sh b/db_video.sh index 78d1085..05fe1e2 100755 --- a/db_video.sh +++ b/db_video.sh @@ -5,19 +5,25 @@ include_dbvideo="$0" # == FILE FORMAT == # ID NAME DESCRIPTION RESX RESY LENGTH COVER STATUS UPLOADER HITS DESCR_CACHE FUTUREUSE -# (void|private|hidden|public) +# (private|hidden|public) # == GLOBALS == -unset VIDEO_ID VIDEO_NAME VIDEO_DESCRIPTION VIDEO_RESX VIDEO_RESY \ - VIDEO_LENGTH VIDEO_COVER VIDEO_STATUS VIDEO_UPLOADER VIDEO_HITS \ - VIDEO_DESCR_CACHE VIDEO_FUTUREUSE +UNSET_VIDEO='unset \ + VIDEO_ID VIDEO_NAME VIDEO_DESCRIPTION VIDEO_RESX VIDEO_RESY \ + VIDEO_LENGTH VIDEO_COVER VIDEO_STATUS VIDEO_UPLOADER VIDEO_HITS \ + VIDEO_DESCR_CACHE VIDEO_FUTUREUSE \ + VIDEO_FILE VIDEO_THUMB VIDEO_MP4 VIDEO_WEBM +' LOCAL_VIDEO='local \ VIDEO_ID VIDEO_NAME VIDEO_DESCRIPTION VIDEO_RESX VIDEO_RESY \ VIDEO_LENGTH VIDEO_COVER VIDEO_STATUS VIDEO_UPLOADER VIDEO_HITS \ - VIDEO_DESCR_CACHE VIDEO_FUTUREUSE + VIDEO_DESCR_CACHE VIDEO_FUTUREUSE \ + VIDEO_FILE VIDEO_THUMB VIDEO_MP4 VIDEO_WEBM ' +eval "$UNSET_VIDEO" + read_video() { local video="$1" vid_db="$_DATA/$CHANNEL_ID/videos.db" [ "$CHANNEL_ID" ] || return 1 @@ -26,6 +32,7 @@ read_video() { VIDEO_ID='' VIDEO_NAME='' VIDEO_DESCRIPTION='' VIDEO_RESX='' VIDEO_RESY='' VIDEO_LENGTH='' VIDEO_COVER='' VIDEO_STATUS='' VIDEO_UPLOADER='' VIDEO_HITS='' VIDEO_DESCR_CACHE='' VIDEO_FUTUREUSE='' + VIDEO_FILE='' VIDEO_THUMB='' VIDEO_MP4='' VIDEO_WEBM='' if [ $# -eq 0 ]; then read -r VIDEO_ID VIDEO_NAME VIDEO_DESCRIPTION VIDEO_RESX VIDEO_RESY \ @@ -43,24 +50,29 @@ read_video() { VIDEO_DESCRIPTION="$(UNSTRING "$VIDEO_DESCRIPTION")" VIDEO_COVER="$(UNSTRING "$VIDEO_COVER")" VIDEO_DESCR_CACHE="$(UNSTRING "$VIDEO_DESCR_CACHE")" + + VIDEO_FILE="$_DATA/$CHANNEL_ID/${VIDEO_ID}.upload.mp4" + VIDEO_THUMB="$_DATA/$CHANNEL_ID/${VIDEO_ID}.thumb.jpg" + VIDEO_MP4="$_DATA/$CHANNEL_ID/${VIDEO_ID}.mp4" + VIDEO_WEBM="$_DATA/$CHANNEL_ID/${VIDEO_ID}.webm" else - unset VIDEO_ID VIDEO_NAME VIDEO_DESCRIPTION VIDEO_RESX VIDEO_RESY \ - VIDEO_LENGTH VIDEO_COVER VIDEO_STATUS VIDEO_UPLOADER VIDEO_HITS \ - VIDEO_DESCR_CACHE VIDEO_FUTUREUSE + eval "$UNSET_VIDEO" return 1 fi } update_video(){ - local id="${1}" name description resx resy length cover status uploader \ + local id="${1:=${VIDEO_ID}}" name description resx resy length cover status uploader \ hits descr_cache futureuse local ID NAME DESCRIPTION RESX RESY LENGTH COVER STATUS UPLOADER HITS \ DESCR_CACHE FUTUREUSE - local arg video thumb cnt vid_db="$_DATA/$CHANNEL_ID/videos.db" - [ "$CHANNEL_ID" ] || return 1 + local FILE THUMB MP4 WEBM arg cnt vid_db="$_DATA/$CHANNEL_ID/videos.db" + [ "$id" -a "$CHANNEL_ID" ] || return 1 - video="${_DATA}/${CHANNEL_ID}/${VIDEO_ID}.upload.mp4" - thumb="${_DATA}/${CHANNEL_ID}/${VIDEO_ID}.thumb.jpg" + FILE="$_DATA/$CHANNEL_ID/${id}.upload.mp4" + THUMB="$_DATA/$CHANNEL_ID/${id}.thumb.jpg" + # MP4="$_DATA/$CHANNEL_ID/${id}.mp4" + # WEBM="$_DATA/$CHANNEL_ID/${id}.webm" for arg in "$@"; do case $arg in name=*) name="${arg#*=}";; @@ -71,22 +83,22 @@ update_video(){ hits=*) hits="${arg#*=}";; esac; done - if [ -f "$video" -a -r "$video" ]; then - arg="$(echo; ffprobe -show_entries format=duration:stream=width,height "$video" 2>&-)" + if [ -f "$FILE" -a -r "$FILE" ]; then + arg="$(echo; ffprobe -show_entries format=duration:stream=width,height "$FILE" 2>&-)" resx="${arg#*width=}"; resx="${resx%%${BR}*}" resy="${arg#*height=}"; resy="${resy%%${BR}*}" length="${arg#*duration=}"; length="${length%%${BR}*}" fi - if [ "${length%.*}" -a ! "${thumb}" -nt "${video}" ]; then + if [ "${length}" -a ! "${THUMB}" -nt "${FILE}" ]; then for cnt in 1 2 3 4 5 6 7 8 9 10; do - ffmpeg -nostdin -y -ss "$((cnt * ${length%.*} / 11))" -i "$video" \ - -frames 1 "${thumb%.jpg}_$((cnt - 1)).jpg" + ffmpeg -nostdin -y -ss "$((cnt * ${length%.*} / 11))" -i "$FILE" \ + -frames 1 "${THUMB%.jpg}_$((cnt - 1)).jpg" done 2>&- - montage "${thumb%.jpg}"_[0-9].jpg \ + montage "${THUMB%.jpg}"_[0-9].jpg \ -background "#000000" \ -tile 10x1 -geometry 320x180+0+0 \ - -interlace line -quality 85 "${thumb}" - rm -- "${thumb%.jpg}"_[0-9].jpg + -interlace line -quality 85 "${THUMB}" + rm -- "${THUMB%.jpg}"_[0-9].jpg fi if LOCK "$vid_db"; then @@ -100,7 +112,7 @@ update_video(){ "${resy:-${resy-${RESY}}${resy+0}}" \ "${length:-${length-${LENGTH}}${length+0}}" \ "$(STRING "${cover-$(UNSTRING "$COVER")}")" \ - "${status:-${status-${STATUS}}${status+void}}" \ + "${status:-${status-${STATUS}}${status+private}}" \ "${uploader:-${uploader-${UPLOADER}}${uploader+\\}}" \ "${hits:-${hits-${HITS}}${hits+0}}" \ "$(printf %s "${description-$(UNSTRING "$DESCRIPTION")}" |markdown |STRING)" \ @@ -129,7 +141,7 @@ new_video(){ return 1 fi # ID NAME DESC RESX RESY LENGTH COVER STATUS UPLDR HITS FUTUREUSE - printf '%s \\ \\ 0 0 0 \\ void %s 0 \\\n' \ + printf '%s \\ \\ 0 0 0 \\ private %s 0 \\\n' \ "$video" "$(STRING "$USER_ID")" >>"$vid_db" RELEASE "$vid_db" else