Обрезка видео по времени начала и окончания с помощью ffmpeg

Я могу только догадываться, почему они поддерживают только свойства: возможно, потому, что, как представляется, универсальное соглашение в платформе .NET никогда не выставляет изменчивые поля (, вероятно, для защиты бинарной совместимости ), и они каким-то образом ожидал, что все программисты будут следовать одному и тому же соглашению.

Кроме того, хотя поля и свойства доступны с одним и тем же синтаксисом, привязка данных использует отражение, и (поэтому я слышал) отражение должно использоваться по-разному для полей доступа чем для доступа к свойствам.

413
задан Community 23 May 2017 в 11:33
поделиться

2 ответа

Вот то, что я просто использовал:

ffmpeg -i input.mkv -ss 00:01:00 -to 00:02:00 -c:v copy -c:a copy output.mp4

<час>

Сгенерированный mp4 файл мог также использоваться в iMovie.

Ссылка: https://www.arj.no/2018/05/18/trimvideo /

1
ответ дан 22 November 2019 в 23:03
поделиться

Даже при том, что я - 6 лет поздно, но я думаю, что все ответы выше правильно не рассматривали вопрос , @kalai спрашивает. Сценарий удара ниже обработает текстовый файл в следующем формате:

URL | start_time | end_time | filename

, например

https://www.youtube.com/watch?v=iUDURCrvrMI|00:02:02|00:03:41|1

и цикл через файл, загружает файл, который youtube-dl поддержки, вычисляя продолжительность между start_time и end_time и передавая его ffmpeg, с тех пор -t является на самом деле продолжительность , не реальное end_time

Подброшен ударом меня, если у Вас есть какой-либо вопрос.

    for i in $(<video.txt);
    do
        URL=`echo $i | cut -d "|" -f 1`;
        START=`echo $i | cut -d "|" -f 2`;
        END=`echo $i | cut -d "|" -f 3`;
        FILE=`echo $i | cut -d "|" -f 4`;

        SEC1=`echo $START | sed 's/^/((/; s/:/)*60+/g' | bc`
        SEC2=`echo $END | sed 's/^/((/; s/:/)*60+/g' | bc`

        DIFFSEC=`expr ${SEC2} - ${SEC1}`

        ffmpeg $(youtube-dl -g $URL | sed "s/.*/-ss $START -i &/") -t $DIFFSEC -c copy $FILE".mkv";
        ffmpeg -i $FILE".mkv" -f mp3 -ab 192000 -vn $FILE".mp3";
        rm $FILE".mkv";
    done;
0
ответ дан 22 November 2019 в 23:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: