Должен ли я просто использовать простую команду, например:
ffmpeg -i C:\video_input.ts -c:v copy -c:a copy -bsf:a aac_adtstoasc C:\video_output.mp4
но я видел, как многие используют -copyts
его, зачем это нужно, я не совсем понимаю его документацию?
ffmpeg -i C:\video_input.ts -c:v copy -c:a copy -bsf:a aac_adtstoasc -copyts C:\video_output.mp4
а также каждый раз, когда я использую -copyts
, появляется дополнительная задержка перед началом первого кадра, поэтому, чтобы исправить это, безопасно ли использовать -start_at_zero
или это в какой-то степени нарушает смысл копий (если это имеет смысл)?
ffmpeg -i C:\video_input.ts -c:v copy -c:a copy -bsf:a aac_adtstoasc -copyts -start_at_zero C:\video_output.mp4
Спасибо!
Если вы не знаете, что у вас есть особая потребность в сохранении временных меток, нет необходимости использовать -copyts
. MPEG-TS, будучи форматом, используемым для удаленного просмотра, по умолчанию будет иметь некоторое смещение времени начала, чтобы обеспечить буферизацию на стороне проигрывателя. MP4 для локального воспроизведения не нужен, copyts
сохранит.
А. Ньюб
-copyts
и-copyts
+-start_at_zero
? Нужна ли она, зачем она существует?Гьян
start_at_zero
имеет значение, если вы ищете входные данные, т.е.-ss 10
обычно первый искомый кадр имеет TS, сбрасываемый на ноль. С s_a_0 его TS теперь будет 10. Если используется сcopyts
, этот TS будет передан на выход.А. Ньюб
-ss 10
использую файл .ts, он на самом деле будет ss @ 11,4 (задержка 1,4 от ts), но если я использую -ss 10 с s_a_0, он действительно начнется с 10? Когда я проверил, это не имеет смысла, поскольку это не то, что происходит. Исходный файл .ts имел start: 1.4, при переходе под-ss 10
, у того же самого было начало 0,0480, то же самое, если бы я добавил к нему start_at_zero или обе копии и start_at_zero.Гьян
-ss 3 -i in.ts -c copy out.mp4
первом искомом кадре после этапа демультиплексора значение PTS равно 0, а время начала out.mp4 равно 0. При-ss 3 -copyts -i in.ts -c copy out.mp4
первом искомом кадре значение PTS после демультиплексора равно 18, которое переносится во время мультиплексирования в out.mp4. При-ss 3 -start_at_zero -copyts -i in.ts -c copy out.mp4
, первый искомый кадр имеет PTS 3 после демультиплексора, который переносится во время мультиплексирования в out.mp4.А. Ньюб
-copyts
? И если мне это нужно в определенных ситуациях, не всегда ли лучше включать s_a_0, если я не хочу иметь эту «буферизацию» для моего нового вывода .mp4?Гьян
А. Ньюб
Гьян
А. Ньюб
-copyts
и-start_at_zero
в любом файле .ts всегда при работе с ремуксом .ts to . мп4? Извините за то, что так раздражаю вопросами, но большое спасибо за то, что вы еще более последовательны во всех ответах, правда.Гьян
А. Ньюб
-c:v copy -c:a copy -bsf:a aac_adtstoasc
без-copyts
или sa0. Меня очень интересовал закулисный аспект, не генерирует ли использование копий новый соответствующий новый TS, может ли он рассинхронизироваться до 26 часов, и все те вещи, о которых я понятия не имел!