Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: ffmpeg криво конвертит файл  (Прочитано 2799 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mkreine

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
ffmpeg криво конвертит файл
« : 26 Августа 2014, 21:03:32 »
... а может у меня руки кривые....

В общем есть файл file.mts. Мне нужно из него получить file.mp4.  Делаю так:

ffmpeg -i file.mts -vcodec copy -acodec copy file.mp4

На выходе получается файл требуемого формата, который прекрасно проигрывается у меня на компьютере. При попытке проиграть его с интернета пишет, что файл поврежден.....  куда копать? загружал всё в бинарном режиме, если что :)

Krjd

  • Гость
Re: ffmpeg криво конвертит файл
« Ответ #1 : 26 Августа 2014, 21:30:54 »
mkreine,
Цитировать
При попытке проиграть его с интернета
что это значит?

Оффлайн mkreine

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #2 : 29 Августа 2014, 20:48:09 »
Беру, конвертирую файл на компьютере. Отлично, всё ок. Загружаю его в интернет - файл поврежден. Ок, если дело в удаленной системе, то что туда поставить, чтобы mp4 без проблем проигрывались? или с какими настройками конвертить? просто у меня есть файл, который изначально в mp4 - он играется прекрасно, без каких-либо танцев с бубном. Поэтому и думаю, что проблема в том, что я не с теми настройками произвожу конвертацию файлов.

Krjd

  • Гость
Re: ffmpeg криво конвертит файл
« Ответ #3 : 29 Августа 2014, 21:48:14 »
mkreine,
mediainfo file.mts?

вопрос с настройками очень спорный
попробуйте так
ffmpeg -i file.mts -c:v libx264 -profile:v high -level 4.1 -preset slow -crf 15 -c:a copy file.mp4
так же много написано на wiki

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #4 : 30 Августа 2014, 08:19:11 »
В репах нет ffmpeg, зато есть кривой libav.

Оффлайн mkreine

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #5 : 30 Августа 2014, 20:11:50 »
D101101,
А что в mediainfo показать? Там много информации выводится.

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #6 : 30 Августа 2014, 20:26:24 »
mkreine,
Всё покажите - лишним не будет...

Оффлайн ggn1967

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #7 : 26 Сентября 2014, 11:53:46 »

Добрый день.
У меня вопрос по ffmpeg - как изменить частоту кадров (fps) видео-файла без перекодирования ?

Допустим, в файле "input.mp4" частота кадров равна 25. Нужно сделать 10 кадров в секунду.
Вот этот пример
ffmpeg  -r 10  -i input.mp4   -c copy   output.mp4не работает, к сожалению.

(Нажмите, чтобы показать/скрыть)

Оффлайн start733

  • Участник
  • *
  • Сообщений: 248
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #8 : 26 Сентября 2014, 15:18:05 »
Без перекодирования не возможно.

Оффлайн ggn1967

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #9 : 27 Сентября 2014, 06:34:47 »
(Нажмите, чтобы показать/скрыть)


Можно ли изменить параметры "SAR" и "DAR" без перекодирования ?

Этот способ

ffmpeg -i input.mp4  -c copy  -sar 1:1  -aspect 16:9  -s 1280x720  output.mp4
не работает.
« Последнее редактирование: 27 Сентября 2014, 06:37:26 от ggn1967 »

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #10 : 28 Сентября 2014, 05:13:01 »
ggn1967,
Банальный вопрос - А зачем? - если у вас с ними всё впорядке  :)
SAR 2049:2048 = 1,00048 = 1:1
DAR 683:384   = 1,778 = 16:9
 ;)

А если более серьёзно, - то нельзя, - только средствами проигрывателя...
« Последнее редактирование: 28 Сентября 2014, 05:17:41 от archiver »

Оффлайн ggn1967

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #11 : 29 Сентября 2014, 12:08:11 »

Нужно 3 видео объединить в одно целое.
Скачанное с youtube видео имеет довольно посредственное качество, поэтому желательно это сделать без перекодирования.
Например так:

ffmpeg -i input1.mp4  -c copy -bsf:v h264_mp4toannexb -f mpegts  temp1.ts
ffmpeg -i input2.mp4  -c copy -bsf:v h264_mp4toannexb -f mpegts  temp2.ts
ffmpeg -i input3.mp4  -c copy -bsf:v h264_mp4toannexb -f mpegts  temp3.ts

ffmpeg -i "concat:temp1.ts|temp2.ts|temp3.ts"  -c copy -bsf:a aac_adtstoasc  output123.mp4


Первые два видео имеют нормальные значения "SAR" и "DAR", то есть 1280x720 [SAR 1:1 DAR 16:9].
Объединяются без проблем.

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

Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #12 : 29 Сентября 2014, 23:13:20 »
С видео номер 3 не повезло - там очень странные значения этих параметров (см. выше), поэтому финальный результат получается "кривой".
Значит не судьба  :)

Запомните одно простое правило - во избежание ухудшения качества при перекодировке, делать операции с видео на разжатых файлах, разжатых в raw или lossless форматы... После операций можно зажать целевое видео заново с теми же параметрами, как и у исходников, подогнав при этом параметры фреймрейта и аспекта под один, нужный вам шаблон...
Поизучайте этот мануал - тут есть всё необходимое, включая про расжате, в примерах https://help.ubuntu.ru/wiki/ffmpeg
Лосслесс для Линукс:
ffmpeg -i input -c:v ffv1 -g 1 -q:v 1 -qmin 1 -qmax 1 -c:a pcm-s16le outpyt
« Последнее редактирование: 29 Сентября 2014, 23:32:52 от archiver »

Оффлайн ggn1967

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #13 : 30 Сентября 2014, 02:31:51 »

Ваш вариант, насколько я понимаю, подразумевает следующие шаги:

1. разжать исходное видео в raw-формат или lossless-формат (здесь пока ещё нет потерь, качество оригинала)
2. потом "зажать целевое видео заново с теми же параметрами, как и у исходников" (вот здесь появляются потери, если перекодировать в mp4-видео разумного размера)

Таким образом, "качество финального результата" !== "качество оригинала".

Мой вариант (см. выше) подразумевает только лишь объединение (или "склейку") нескольких видео в одно целое БЕЗ перекодирования (здесь нет потерь, качество оригинала).

Таким образом, "качество финального результата" === "качество оригинала".
Но.
Чтобы это сделать, исходные mp4-видеофайлы должны иметь одинаковые параметры.
Вот в этом и заключается проблема - нужно каким-то образом изменить параметры "SAR" и "DAR", возможно где-то в заголовке mp4-файла.
(было бы странно дублировать параметры "SAR" и "DAR" для каждого кадра, не так ли ?)  :)

Цитата: archiver
Поизучайте этот мануал - тут есть всё необходимое, включая про расжате, в примерах https://help.ubuntu.ru/wiki/ffmpeg

Спасибо за ссылку на русскоязычный мануал, периодически перечитываю.  :)


Оффлайн arch!ver

  • Старожил
  • *
  • Сообщений: 1260
    • Просмотр профиля
Re: ffmpeg криво конвертит файл
« Ответ #14 : 30 Сентября 2014, 04:43:15 »
ggn1967,
Вы знакомы с таким понятием как ремастеринг видео? :) ... И странно, - почему в ремастеринге не используется повсеместно метод взлома заголовка файла и смены его данных, - если это по определению и по факту, - настолько якобы просто и гениально  :coolsmiley:
Хотите так - дерзайте, - ни вопрос ... Тогда зачем задавать вопросы, если вы так сказать, знаете лучшие на них ответы  :)

И, -- в простонародии есть пословица, которая отражает некоторую суть результата подобных действий - "быстро только кошки родятся"...
А вот для того что бы родить более или менее человека - нужно как-ни-как - от 7 до 9 месяцев  ;D ...

(было бы странно дублировать параметры "SAR" и "DAR" для каждого кадра, не так ли ?)  :)
Там, на сколько я помню - не только дублируется (переписывается) SAR и DAR - но и изменяется пиксельная опция < -s > (PAR) с последующим пересчётом матрицы квантования, согласно новым условиям задания опции пиксельного соотношения сторон - PAR
SAR и DAR - это опции растяжки, а целевое, более доминантное и стабильное влияние на аспект, оказывает опция PAR (< -s >)
« Последнее редактирование: 01 Октября 2014, 04:54:34 от archiver »

 

Страница сгенерирована за 0.064 секунд. Запросов: 25.