Polecenie kodujące profil linii podstawowej h264, poziom 1, z FFmpeg i libx264

3

Czy ktoś może zasugerować polecenie kodowania wideo do profilu linii podstawowej h264 (poziom 1)?

Oto link do odsyłacza: http://blog.mediacoderhq.com/h264-profiles-and-levels/

Użyłem tego polecenia, ale FFmpeg mówi, że jest to profil główny, a nie bazowy.

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
Morteza Milani
źródło

Odpowiedzi:

5

Upewnij się, że masz najnowsze FFmpeg i libx264 - to jest naprawdę ważne * - a następnie spróbuj czegoś takiego:

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

Spowoduje to:

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

Oczywiście możesz dostarczyć -preset i -tune opcje do x264. Odnosić się do x264 --fullhelp po więcej informacji.

Oto używane opcje 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

* Działa z FFmpeg 0.9 i x264 core 118. The -vprofile opcja była nieudokumentowana w FFmpeg, teraz jest -profile:v. Teraz w zasadzie działa tak jak -profile, który znowu ma zastąpić -vpre. Używa wbudowanych profili x264 zamiast polegać .ffpreset pliki.

slhck
źródło
Dziękuję Ci. Czy wyjście działa na telefonach z systemem Android?
Morteza Milani
Tak, gra na moim telefonie z Androidem.
slhck
nie udało się odtworzyć w emulatorze Android 2.1 Eclair
leon
@leon Używam tego polecenia przez cały czas i działało ono na każdym urządzeniu z Androidem, z którego korzystałem. Może to problem z emulatorem.
slhck
@slhck działa w systemie Android 2.2, nie udało się to tylko w wersji 2.1. Ten sam format pliku wygenerowany przy użyciu iMovie działa poprawnie w 2.1. Mam tylko szansę przetestowania w emulatorze, a nie w prawdziwych urządzeniach.
leon