Сохранение PTS при изменении размера файла .ts - PullRequest
0 голосов
/ 04 февраля 2020

Допустим, у меня есть файл .ts из существующего HLS, и я просто хочу изменить его размер. Например, чтобы создать второй поток с более низким разрешением, который можно переключать при низкой пропускной способности.

ffmpeg -i video1080_1.ts -vf "scale=1280:720" video720_1.ts

Как я могу убедиться, что video720_1.ts запускается с той же PTS, что и video1080_1.ts? Я не менял скорость, поэтому он будет играть нормально, если он будет начинаться с точно такого же PTS.

Я много чего перепробовал (vsyn c, copyts, et c. ), но ни один из них не дает мне точно такой же номер.

Кроме того, я попытался добавить -copyts -vsync 2 -muxdelay 0 -muxpreload 0, и это приблизило его, но все еще на 1100 (4422778 против 4423680).

1 Ответ

0 голосов
/ 05 февраля 2020

ОК, после долгих испытаний я обнаружил, что на самом деле следующее дает мне тот же PTS, что и оригинал:

ffmpeg -i 00091.ts -vf "scale=640:360" -copyts -vsync -1 -muxdelay 0 -muxpreload 0 -y 00091_360.ts

Все 4 параметра требуются вместе.

Редактировать : -vsync -1 является значением по умолчанию и является необязательным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...