Кодирование команд базового профиля h264, уровень 1, с FFmpeg и libx264


3

Кто-нибудь может предложить команду для кодирования видео в базовый профиль h264 (уровень 1)?

Вот ссылка для справки: http://blog.mediacoderhq.com/h264-profiles-and-levels/

Я использовал эту команду, но FFmpeg говорит, что это Основной профиль, а не Базовый.

ffmpeg -i <SOURCE> -vcodec libx264 -coder 0 -flags +loop+mv4 \
-partitions +parti4x4+parti8x8+parti4x4+partp8x8+partb8x8 -me_method hex -subq 7 \
-trellis 1 -refs 5 -bf 0 -flags2 +mixed_refs -coder 0 -me_range 16 -threads 2 \
-s 240x160 -b:v 64k -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 \
-qmin 10 -qmax 51 -qdiff 4 -strict experimental -acodec aac -ac 1 -ab 48000 \
-f mpegts udp://127.0.0.1:10006?pkt_size=1316

Ответы:


5

Убедитесь, что у вас последняя версия FFmpeg и libx264 - это действительно важно * - а затем попробуйте что-то вроде:

ffmpeg -i … -c:v libx264 -profile:v baseline -level 1 …

Это приведет к:

[libx264 @ 0x10180fa00] profile Constrained Baseline, level 1.0

Конечно, вы можете поставить -preset а также -tune варианты для x264 также. Ссылаться на x264 --fullhelp для получения дополнительной информации.

Вот используемые параметры x264:

cabac=0 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1
psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 
cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 
sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0
constrained_intra=0 bframes=0 weightp=0 keyint=250 
keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 
rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 
qpstep=4 ip_ratio=1.40 aq=1:1.00

* Работает с FFmpeg 0.9 и x264 core 118. -vprofile опция была недокументирована в FFmpeg, теперь она -profile:v, Теперь это в основном работает так же, как -profile, который снова должен заменить -vpre, Он использует встроенные профили x264 вместо того, чтобы полагаться на .ffpreset файлы.


благодарю вас. Работает ли вывод на андроид телефонах?
— Morteza Milani

Это играет на моем телефоне Android, да.
— slhck

не удалось играть в эмуляторе Android 2.1 Eclair
— leon

@leon Я использовал эту команду все время, и она работала для каждого устройства Android, которое я использовал. Может быть, это проблема с эмулятором.
— slhck

@slhck работает в Android 2.2, только в 2.1. Файл того же формата, созданный с помощью iMovie, прекрасно работает в 2.1. У меня был шанс протестировать только в эмуляторе, а не на реальных устройствах.
— leon
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.