Причина в том, что отсутствует параметр -map
, который указывает входные потоки в качестве источника для выходного файла. Я использую ffmpeg 2.6.1 и могу разделить видео с помощью -segment_times
:
ffmpeg -i foo.mp4 -segment_times 10,20,30,40 -c copy -map 0 -f segment %03d.mp4
Если вам нужно более сложное разделение, вы можете использовать OpenCV для чтения исходного видео и записи желаемого кадра в новый раскол. Обратите внимание на следующие: «Создание видео с OpenCV» и «Разделение видео на несколько фрагментов в соответствии с несколькими индексами начального и конечного кадра»
Хорошая работа над вашим сценарием. Вы можете проверить, не является ли ни один из входов допустимым, как это:
# change lowercase to uppercase
start=`echo $start | tr "[a-z]" "[A-Z]"`
# exit if start isn't either "ORDER" or "QUIT"
if [ $start != "ORDER" ] && [ $start != "QUIT" ]
then
echo "Your input was not correct"
exit
fi