forked from mediamicroservices/mm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfix_rewrap
executable file
·54 lines (45 loc) · 1.5 KB
/
fix_rewrap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash
# this script takes one argument which is a video file. It then rewraps it to make a new file.
version=1.1
unset dependencies
dependencies=(ffmbc)
scriptdir=$(dirname "$0")
. "$scriptdir/mmfunctions" || { echo "Missing '$scriptdir/mmfunctions'. Exiting." ; exit 1 ;};
usage(){
echo
echo "$(basename $0) ${version}"
echo "This application takes an input video file(s) and produces outputs through re-multiplexing all tracks of the input into a new container."
echo "Dependencies: ${dependencies[@]}"
echo "Usage: $(basename $0) file1 [ file2 ...]"
echo
exit
}
[ "$#" = 0 ] && usage
check_dependencies "${dependencies[@]}"
cleanup(){
log -a "Process aborted"
exit 1
}
# local variables
suffix="_rewrap"
trap cleanup SIGHUP SIGINT SIGTERM
log -b
while [ "$*" != "" ] ; do
input_movie="$1"
name=$(basename "$1")
extension="${name#*.}"
get_codectagstring
unset ffmbc_opts
ffmbc_opts+=(-vcodec copy -acodec copy)
[ "${codec_tag_string}" = "mpeg" ] && extension="mxf"
output_movie="${input_movie%.*}${suffix}.${extension}"
if [ -f "${output_movie}" ] ; then
report -wt "The intended output of $(basename $0) already exists. Skipping for now. Please delete ${output_movie} and rerun or figure out why you are trying to do this."
else
report -dt "Generating ${outputmovie} ..."
ffmbc -i ${input_movie} ${ffmbc_opts[@]} ${output_movie}
report -dt "$(basename $0) is done with ${name}."
fi
shift
done
log -e