diff --git a/test/ffcvt_test.txt b/test/ffcvt_test.txt index 6361aa4..051b7c6 100644 --- a/test/ffcvt_test.txt +++ b/test/ffcvt_test.txt @@ -4,7 +4,7 @@ Usage: Flags: - -t target type: webm/x265-opus/x264-mp3/youtube (FFCVT_T) + -t target type: webm/x265-opus/x264-mp3/wx/youtube/copy (FFCVT_T) -ves video encoding method set (FFCVT_VES) -aes audio encoding method set (FFCVT_AES) -ses subtitle encoding method set (FFCVT_SES) @@ -30,7 +30,12 @@ Flags: -an no audio, output video only (FFCVT_AN) -vn no video, output audio only (FFCVT_VN) -vss video: same size (FFCVT_VSS) + -C,Cut Cut segment(s) out to keep. Specify in the form of start-[end], + strictly in the format of hh:mm:ss, and may repeat (FFCVT_C,CUT) + -S,Seg Split video into multiple segments (strictly in format: hh:mm:ss) (FFCVT_S,SEG) + -Speed Speed up/down video playback speed (e.g. 1.28) (FFCVT_SPEED) -lang language selection for audio stream extraction (FFCVT_LANG) + -sel subtitle encoding language (language picked for reencoded video) (FFCVT_SEL) -o more options that will pass to ffmpeg program (FFCVT_O) -ato-opus audio encode to opus, using -abr (FFCVT_ATO_OPUS) -vto-x265 video video encode to x265, using -crf (FFCVT_VTO_X265) @@ -47,6 +52,18 @@ Flags: Details: + -C value + Cut segment(s) out to keep. Specify in the form of start-[end], + strictly in the format of hh:mm:ss, and may repeat + -Cut value + Cut segment(s) out to keep. Specify in the form of start-[end], + strictly in the format of hh:mm:ss, and may repeat + -S string + Split video into multiple segments (strictly in format: hh:mm:ss) + -Seg string + Split video into multiple segments (strictly in format: hh:mm:ss) + -Speed string + Speed up/down video playback speed (e.g. 1.28) -abr string audio bitrate (64k for opus, 256k for mp3) -ac @@ -88,6 +105,8 @@ Details: -o string more options that will pass to ffmpeg program -p par2create, create par2 files (in work directory) + -sel value + subtitle encoding language (language picked for reencoded video) -sep string subtitle encoding method prepend -ses string @@ -97,7 +116,7 @@ Details: -sym symlinks will be processed as well -t string - target type: webm/x265-opus/x264-mp3/youtube (default "webm") + target type: webm/x265-opus/x264-mp3/wx/youtube/copy (default "webm") -vc copy video codec -vea string diff --git a/test2/ffcvt_test.txt b/test2/ffcvt_test.txt deleted file mode 120000 index 8465f55..0000000 --- a/test2/ffcvt_test.txt +++ /dev/null @@ -1 +0,0 @@ -../test/ffcvt_test.txt \ No newline at end of file diff --git a/test2/ffcvt_test.txt b/test2/ffcvt_test.txt new file mode 100644 index 0000000..d1424c2 --- /dev/null +++ b/test2/ffcvt_test.txt @@ -0,0 +1,248 @@ + +Usage: + ffcvt [flags] + +Flags: + + -t target type: webm/x265-opus/x264-mp3/wx/youtube/copy (FFCVT_T) + -ves video encoding method set (FFCVT_VES) + -aes audio encoding method set (FFCVT_AES) + -ses subtitle encoding method set (FFCVT_SES) + -vep video encoding method prepend (FFCVT_VEP) + -aep audio encoding method prepend (FFCVT_AEP) + -sep subtitle encoding method prepend (FFCVT_SEP) + -vea video encoding method append (FFCVT_VEA) + -aea audio encoding method append (FFCVT_AEA) + -abr audio bitrate (64k for opus, 256k for mp3) (FFCVT_ABR) + -crf the CRF value: 0-51. Higher CRF gives lower quality + (28 for x265, ~ 23 for x264) (FFCVT_CRF) + + -d directory that hold input files (FFCVT_D) + -f input file name (either -d or -f must be specified) (FFCVT_F) + -sym symlinks will be processed as well (FFCVT_SYM) + -exts extension list for all the files to be queued (FFCVT_EXTS) + -suf suffix to the output file names (FFCVT_SUF) + -ext extension for the output file (FFCVT_EXT) + -w work directory that hold output files (FFCVT_W) + + -ac copy audio codec (FFCVT_AC) + -vc copy video codec (FFCVT_VC) + -an no audio, output video only (FFCVT_AN) + -vn no video, output audio only (FFCVT_VN) + -vss video: same size (FFCVT_VSS) + -C,Cut Cut segment(s) out to keep. Specify in the form of start-[end], + strictly in the format of hh:mm:ss, and may repeat (FFCVT_C,CUT) + -S,Seg Split video into multiple segments (strictly in format: hh:mm:ss) (FFCVT_S,SEG) + -Speed Speed up/down video playback speed (e.g. 1.28) (FFCVT_SPEED) + -lang language selection for audio stream extraction (FFCVT_LANG) + -sel subtitle encoding language (language picked for reencoded video) (FFCVT_SEL) + -o more options that will pass to ffmpeg program (FFCVT_O) + -ato-opus audio encode to opus, using -abr (FFCVT_ATO_OPUS) + -vto-x265 video video encode to x265, using -crf (FFCVT_VTO_X265) + + -p par2create, create par2 files (in work directory) (FFCVT_P) + -nc no clobber, do not queue those already been converted (FFCVT_NC) + -n no exec, dry run (FFCVT_N) + + -force overwrite any existing none-empty file (FFCVT_FORCE) + -debug debugging level (FFCVT_DEBUG) + -ffmpeg ffmpeg program executable name (FFCVT_FFMPEG) + -ffprobe ffprobe program execution (FFCVT_FFPROBE) + -version print version then exit (FFCVT_VERSION) + +Details: + + -C value + Cut segment(s) out to keep. Specify in the form of start-[end], + strictly in the format of hh:mm:ss, and may repeat + -Cut value + Cut segment(s) out to keep. Specify in the form of start-[end], + strictly in the format of hh:mm:ss, and may repeat + -S string + Split video into multiple segments (strictly in format: hh:mm:ss) + -Seg string + Split video into multiple segments (strictly in format: hh:mm:ss) + -Speed string + Speed up/down video playback speed (e.g. 1.28) + -abr string + audio bitrate (64k for opus, 256k for mp3) + -ac + copy audio codec + -aea string + audio encoding method append + -aep string + audio encoding method prepend + -aes string + audio encoding method set + -an + no audio, output video only + -ato-opus + audio encode to opus, using -abr + -crf string + the CRF value: 0-51. Higher CRF gives lower quality + (28 for x265, ~ 23 for x264) + -d string + directory that hold input files + -debug int + debugging level (default 1) + -ext string + extension for the output file + -exts string + extension list for all the files to be queued (default ".3GP.3G2.ASF.AVI.DAT.DIVX.FLV.M2TS.M4V.MKV.MOV.MPEG.MP4.MPG.RMVB.RM.TS.VOB.WEBM.WMV") + -f string + input file name (either -d or -f must be specified) + -ffmpeg string + ffmpeg program executable name (default "ffmpeg") + -ffprobe string + ffprobe program execution (default "ffprobe -print_format flat") + -force + overwrite any existing none-empty file + -lang string + language selection for audio stream extraction (default "eng") + -n no exec, dry run + -nc + no clobber, do not queue those already been converted + -o string + more options that will pass to ffmpeg program + -p par2create, create par2 files (in work directory) + -sel value + subtitle encoding language (language picked for reencoded video) + -sep string + subtitle encoding method prepend + -ses string + subtitle encoding method set + -suf string + suffix to the output file names + -sym + symlinks will be processed as well + -t string + target type: webm/x265-opus/x264-mp3/wx/youtube/copy (default "webm") + -vc + copy video codec + -vea string + video encoding method append + -vep string + video encoding method prepend + -version + print version then exit + -ves string + video encoding method set + -vn + no video, output audio only + -vss + video: same size (default true) + -vto-x265 + video video encode to x265, using -crf + -w string + work directory that hold output files + +To reduce output, use `-debug 0`, e.g., `ffcvt -force -debug 0 -f testf.mp4 ...` + +== Transcoding: StreamSample.mkv +ffcvt: to execute - + ffmpeg -i StreamSample.mkv -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy /tmp/StreamSample.mkv + +Org Size: 0 MB +New Size: 0 MB +Saved: 0% +] Skip symlink file: ./subdir/test_s1.avi +] Skip symlink file: ./test1.avi +] Skip symlink file: ./test2.avi +] Skip symlink file: ./test3.webm + +Org Size: 0 MB +New Size: 0 MB +Saved: 0% + +== Transcoding [1/4]: 'test_s1.avi' + under subdir +] ffmpeg -i ./subdir/test_s1.avi -c:v libx265 -x265-params crf=28 -c:a libopus -b:a 64k ./subdir/test_s1_.mkv +ffcvt: to execute - + ffmpeg -i ./subdir/test_s1.avi -c:v libx265 -x265-params crf=28 -c:a libopus -b:a 64k ./subdir/test_s1_.mkv + +== Transcoding [2/4]: 'test1.avi' + under . +] ffmpeg -i ./test1.avi -c:v libx265 -x265-params crf=28 -c:a libopus -b:a 64k ./test1_.mkv +ffcvt: to execute - + ffmpeg -i ./test1.avi -c:v libx265 -x265-params crf=28 -c:a libopus -b:a 64k ./test1_.mkv + +== Transcoding [3/4]: 'test2.avi' + under . +] ffmpeg -i ./test2.avi -c:v libx265 -x265-params crf=28 -c:a libopus -b:a 64k ./test2_.mkv +ffcvt: to execute - + ffmpeg -i ./test2.avi -c:v libx265 -x265-params crf=28 -c:a libopus -b:a 64k ./test2_.mkv + +== Transcoding [4/4]: 'test3.webm' + under . +] ffmpeg -i ./test3.webm -c:v libx265 -x265-params crf=28 -c:a libopus -b:a 64k ./test3_.mkv +ffcvt: to execute - + ffmpeg -i ./test3.webm -c:v libx265 -x265-params crf=28 -c:a libopus -b:a 64k ./test3_.mkv + +Org Size: 0 MB +New Size: 0 MB +Saved: 0% +] Skip symlink file: ./subdir/test_s1.avi +] Skip symlink file: ./test1.avi +] Skip symlink file: ./test2.avi +] Skip symlink file: ./test3.webm + +Org Size: 0 MB +New Size: 0 MB +Saved: 0% + +== Transcoding [1/4]: 'test_s1.avi' + under subdir +] ffmpeg -i ./subdir/test_s1.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy ./subdir/test_s1_.mkv +ffcvt: to execute - + ffmpeg -i ./subdir/test_s1.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy ./subdir/test_s1_.mkv + +== Transcoding [2/4]: 'test1.avi' + under . +] ffmpeg -i ./test1.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy ./test1_.mkv +ffcvt: to execute - + ffmpeg -i ./test1.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy ./test1_.mkv + +== Transcoding [3/4]: 'test2.avi' + under . +] ffmpeg -i ./test2.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy ./test2_.mkv +ffcvt: to execute - + ffmpeg -i ./test2.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy ./test2_.mkv + +== Transcoding [4/4]: 'test3.webm' + under . +] ffmpeg -i ./test3.webm -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy ./test3_.mkv +ffcvt: to execute - + ffmpeg -i ./test3.webm -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy ./test3_.mkv + +Org Size: 0 MB +New Size: 0 MB +Saved: 0% +] Transcoding to /tmp/test2 + +== Transcoding [1/4]: 'test_s1.avi' + under subdir +] ffmpeg -i ./subdir/test_s1.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy /tmp/test2/subdir/test_s1.mkv +ffcvt: to execute - + ffmpeg -i ./subdir/test_s1.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy /tmp/test2/subdir/test_s1.mkv + +== Transcoding [2/4]: 'test1.avi' + under . +] ffmpeg -i ./test1.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy /tmp/test2/test1.mkv +ffcvt: to execute - + ffmpeg -i ./test1.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy /tmp/test2/test1.mkv + +== Transcoding [3/4]: 'test2.avi' + under . +] ffmpeg -i ./test2.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy /tmp/test2/test2.mkv +ffcvt: to execute - + ffmpeg -i ./test2.avi -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy /tmp/test2/test2.mkv + +== Transcoding [4/4]: 'test3.webm' + under . +] ffmpeg -i ./test3.webm -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy /tmp/test2/test3.mkv +ffcvt: to execute - + ffmpeg -i ./test3.webm -c:v libvpx-vp9 -b:v 0 -crf 42 -c:a libopus -b:a 64k -c:s copy /tmp/test2/test3.mkv + +Org Size: 0 MB +New Size: 0 MB +Saved: 0% diff --git a/test2/test-all.sh b/test2/test-all.sh new file mode 120000 index 0000000..5b66cc6 --- /dev/null +++ b/test2/test-all.sh @@ -0,0 +1 @@ +../test/test-all.sh \ No newline at end of file diff --git a/test2/test-sym.sh b/test2/test-sym.sh deleted file mode 120000 index b15ba70..0000000 --- a/test2/test-sym.sh +++ /dev/null @@ -1 +0,0 @@ -../test/test-sym.sh \ No newline at end of file