如何使用bash合并和修剪GoPro录音?

时间:2019-05-03 15:00:44

标签: bash sh video-editing

我有一堆使用GoPro Hero3摄像机录制的视频。 GoPro摄像机将录制内容分成20分钟左右。我写了一个脚本来遍历所有录音:

#!/bin/bash

STARTFOLDER="/media/users"
PATTERN="GOPR"
MARKER="converted"

FILELIST=$(find "$STARTFOLDER" -type f -name "*$PATTERN*.MP4" ! -name "*$MARKER*")

while read FILEPATH; do
  # New file name
  BN=$(basename "$FILEPATH" '.MP4')
  BP=$(dirname "$FILEPATH")
  NEWFILEPATH="$BP/$BN-$MARKER.MP4"

  # Skip result files
  ISRESULT=$(echo "$BN" | grep -e "$MARKER\\.MP4\$")
  if test -n "$ISRESULT"; then
    echo "..  skipping (is a result file)"
    continue
  fi

  # Skip processed files
  if test -f "$NEWFILEPATH"; then
    echo "..  skipping (result file exists)"
    continue
  fi

  # Process file here
done < <(echo -e "$FILELIST")

/ media / users文件夹的结构如下:

/media/users
   user1
     data
       GoPro
         GOPR0281-conv.MP4
         GP010281-conv.MP4
         GP020281-conv.MP4
         GP030281-conv.MP4
   user2
     data
       GoPro
         GOPR0282-conv.MP4
         GP010282-conv.MP4
         GP020282-conv.MP4
         GP030282-conv.MP4
         GP040282-conv.MP4

上面的脚本遍历每个MP4文件。我现在想做的是将每个GoPro目录中的所有MP4文件合并到一个文件中。这意味着,对于user1,应该只有一个文件/media/users/user1/data/gopro_merged.mp4;对于user2,应该只有一个文件/media/users/user2/data/gopro_merged.mp4,依此类推。合并应确保没有信息丢失,即,就像是连续记录一样。该怎么办?

第二,合并文件后,我想从每个gopro_merged.mp4文件的开头和结尾处减少一定的时间。我想在一个单独的文件(例如,带有两个数字的csv文件)中提供的每个文件的开头和结尾处要剪切的数量。该怎么办?

0 个答案:

没有答案