Bug 26303 - Сломалось кодирование c libx264
Summary: Сломалось кодирование c libx264
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: x264 (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-14 23:00 MSK by Michael A. Kangin
Modified: 2011-09-17 16:12 MSK (History)
2 users (show)

See Also:


Attachments
полный вывод ffmpeg (4.35 KB, text/plain)
2011-09-14 23:00 MSK, Michael A. Kangin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael A. Kangin 2011-09-14 23:00:18 MSK
Created attachment 5106 [details]
полный вывод ffmpeg

При попытке перекодировать файл с -vcodec libx264 кодирование не начинается с ошибкой со словами "[libx264 @ 0x621440] This build of x264 requires high depth input. Rebuild to support 8-bit input.".

Команда кодирования:
$ ffmpeg  -y -i cam5-2011-09-14-21-18-03.ts -vcodec libx264 -vpre ultrafast -crf 31 -r 8 -t 600.3 -ss 1 -f mp4 -threads 0 outfile

ffmpeg-0.7.1-alt3
libx264-116-alt0.1
Система x86_64.

Со старыми версиями пакетов (libx264-106-alt2, ffmpeg-1:0.6-alt5) все работало замечательно.

Полный вывод ffmpeg в аттаче.
Comment 1 Sergey Bolshakov 2011-09-15 16:21:29 MSK
fixed in libx264-116-alt0.2
Comment 2 Michael A. Kangin 2011-09-16 17:16:50 MSK
Спасибо!

Но что-то там всё равно сломалось в новых версиях: на выходе получается файл в 4-5 раз(!) больше, чем был раньше.
Все x264-опции проверил, исправил парочку, что отличались, не помогло.
Comment 3 Sergey Bolshakov 2011-09-16 17:26:38 MSK
а если кодировать непосредственно утилём x264 ?
Comment 4 Michael A. Kangin 2011-09-16 20:47:53 MSK
(In reply to comment #3)
> а если кодировать непосредственно утилём x264 ?

Старый x264, похоже, был собран без поддержки libav* formats, и умеет открывать только какие-то непонятные YUV4MPEG (*.y4m), так что непосредственно сравнить не получится.

С новым x264 результат получается сопоставимым с ffmpeg, т.е., похоже, libx264 гадит.

oldhost $ ffmpeg  -y -i cam5-2011-09-14-21-18-03.ts -vcodec libx264 -vpre veryfast -crf 31 -r 8 -t 600.3 -ss 1 -f mp4 -threads 0 outfile1

outfile1 = 4442349

newhost $ ffmpeg  -y -i cam5-2011-09-14-21-18-03.ts -vcodec libx264 -vpre veryfast -crf 31 -r 8 -t 600.3 -ss 1 -f mp4 -threads 0 outfile2

outfile2 = 24678495

newhost $ x264 --crf 31 --preset veryfast --fps 8 -o outfile3 cam5-2011-09-14-21-18-03.ts

outfile3 = 30166191
Comment 5 Sergey Bolshakov 2011-09-17 02:08:07 MSK
в последнем примере наверное стоит указать --profile baseline
Comment 6 Michael A. Kangin 2011-09-17 16:12:35 MSK
(In reply to comment #5)
> в последнем примере наверное стоит указать --profile baseline

даже немножко похуже стало: размер получился 34254287