Ini ialah arahan mjpegtools yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
mjpegtools - Pengenalan kepada MJPEG-tools
Pengenalan
Saya menulis perkara ini, kerana saya mempunyai banyak helaian dengan nota padanya. Ini sepatutnya
beberapa jenis ringkasan pengetahuan yang dikumpul dalam jangka masa yang panjang. Andrew Stevens
membantu dengan pengekodan dan pengetahuan dan pembayang VCD.
Mjpegtools ialah satu set program yang boleh melakukan rakaman, main balik, penyuntingan dan akhirnya MPEG
pemampatan audio dan video di bawah Linux.
Walaupun terutamanya bertujuan untuk digunakan dengan papan tangkapan / main balik berdasarkan Zoran
ZR36067 MJPEG codec chip mjpegtools boleh digunakan dengan mudah untuk memproses dan memampatkan video MJPEG
strim yang ditangkap menggunakan xawtv menggunakan peranti penampan bingkai ringkas.
HOWTO untuk alatan bertujuan untuk memberi pengenalan kepada alatan MJPEG dan
penciptaan video MPEG 1/2. VCD, SVCD dan DVD dan transcoding mpeg sedia ada
anak sungai.
Untuk maklumat lanjut tentang program, baca halaman manusia yang sepadan.
Achtung es gibt auch eine deutsche Version bei:
Terdapat juga halaman manual teks ini. Anda boleh membacanya dengan "man mjpegtools" jika dipasang.
Kami juga mempunyai versi maklumat yang anda sepatutnya boleh membacanya dengan maklumat
Versi teks teks ini tersedia melalui cvs. Anda harus mendapatkannya dengan tarball atau
pakej yang telah disusun sebelumnya (RPM dan deb).
Dalam gambar berikut anda melihat aliran kerja biasa apabila anda merakam video, potongnya
selepas itu dan mengekodkannya. Dalam gambar anda juga melihat sambungan ke program lain.
Bahagian ini berwarna kelabu. Bahagian berwarna biru boleh dilakukan dengan mjpegtools.
Aliran kerja pengekodan video
Senarai Petua berguna yang tidak diisih
Anda perlu menyusun dan memasang pakej mjpeg_play, untuk ini baca README &
INSTALL.real dan ikuti petunjuk daripada skrip konfigurasi. Jika anda tidak mahu menyusun
itu, anda boleh memuat turun pakej mjpeg .RPM atau .DEB di Sourceforge, atau jika tersedia, gunakan
yang disertakan dengan pengedaran anda.
Terdapat skrip dalam skrip/ direktori. Skrip ini adalah sesuatu yang menunjukkan kepada anda cara
ia boleh dilakukan. Ia juga mencipta (dalam keadaan tertentu) video yang kelihatan agak bagus.
Video yang lebih baik yang anda hanya akan dapat dengan menala parameter.
Jika anda menggunakan kernel Linux dari siri 2.4 anda biasanya perlu memuatkan pemacu
untuk kad Buz atau DC10 atau LML33. Anda perlu menjalankan skrip kemas kini yang disediakan sebagai pilihan
nama kad anda yang anda miliki. Skrip biasanya dalam /usr/src/driver-zoran/. The
pemacu kernel zoran di bawah kernel 2.4.4 tidak berfungsi. Anda perlu menggunakan pemandu
Boleh didapati daripada:
Dalam 2.6. Kernel Linux ialah pemacu untuk kad zoran yang disertakan, anda hanya perlu buat
pastikan ia dimuatkan dengan betul. Jika anda mempunyai mesin x64 dan kernel yang lebih baru daripada
2.6.30 kami berbesar hati mendengar bahawa anda boleh merakam daripada kad berasaskan zoran. saya
tidak masam jika gabungan itu berkesan.
Pemacu untuk kad Matrox Marvel juga berfungsi, maklumat lanjut mengenainya:
Jika anda menyusun alatan pada komputer berasaskan P6 (PPro, P-II, P-III, P-4, Athlon,Duron)
maka jangan sekali-kali cuba membiarkannya berjalan pada komputer berasaskan P5 (Pentium, Pentium-MMX, K6, K6-x,
Cyrix, Via, Winchip). Anda akan mendapat "arahan haram" dan program tidak akan berfungsi. Itu
adalah sama untuk CPU yang lebih baru juga. Jika anda menggunakan pengoptimuman khusus, ketahui tentangnya.
Jika lav2yuv membuang teras maka satu sebab yang mungkin adalah tiada sokongan dv disertakan. Untuk membolehkannya
pastikan libdv dipasang pada sistem. Ini akan diperlukan jika anda menggunakan
kamera digital (atau penukar analog kepada DV seperti Canopus ADVC100 dan menukar
dv avi ke dalam format MPEG.
Mulakan xawtv untuk melihat jika anda mendapat gambar. Jika anda ingin menggunakan HW-main balik rakaman
strim anda perlu memulakan xawtv (sebarang aplikasi TV berfungsi) sekali untuk mendapatkan strim dimainkan
belakang. Anda juga harus menyemak tetapan pengadun anda dalam kad bunyi. Jika anda menggunakan v4l2
anda harus mencuba mpplayer untuk menonton gambar
Jika anda menyusun alatan pada platform selain Linux, tidak semua alatan akan berfungsi.
Mjpegtools pada sistem OS/X contohnya tidak akan mempunyai keupayaan V4L (video4linux).
Jangan sekali-kali cuba menghentikan atau memulakan aplikasi TV apabila lavrec berjalan. Jika anda memulakan atau menghentikan
Aplikasi TV lavrec akan berhenti merakam, atau komputer anda boleh menjadi "beku". Ini adalah
masalah v4l (video4linux).
Masalah ini diselesaikan dengan v4l2. Jika anda menggunakan v4l2 anda boleh merakam video dan berhenti dan
mulakan aplikasi tv bila-bila masa anda mahu. Tetapi v4l2 pada masa ini (7. Jan. 2003) sahaja
disokong untuk kad berasaskan zoran (BUZ, DC10, DC10+, LML33) jika anda menggunakan pemacu CVS
daripada mjpeg.sf.net ditag dengan ZORAN_VIDEODEV_2. Dan pemandu ini hanya berfungsi dengan
kernel 2.4.20 dan kernel pembangunan 2.5.*.
Satu perkara terakhir tentang data yang anda peroleh sebelum kami mula:
Audio: ( Sampel * Saluran * Saiz Bit ) / (8 * 1024)
Kualiti CD:(44100 Sampel/saat * 2 Chanel * 16 Bit) / (8 * 1024)=172,2 kB/saat
8 * 1024 menukar nilai dari bit/sec kepada kByte/sec
Video: (lebar * tinggi * kadar bingkai * kualiti ) / (200 * 1024)
PAL HALF Saiz : (352 * 288 * 25 * 80) / (200 * 1024) = 990 kB/saat
Saiz PENUH PAL : (720 * 576 * 25 * 80) / (200 * 1024) = 4050 kB/saat
Saiz NTSC HALF: (352 * 240 * 30 * 80) / (200 * 1024) = 990 kB/saat
Saiz PENUH NTSC: (720 * 480 * 30 * 80) / (200 * 1024) = 4050 kB/saat
1024 menukarkan Bytes kepada kBytes. Tidak setiap kad boleh merekodkan saiz yang dinyatakan. The
Buz dan Marvel G400 misalnya hanya boleh merakam saiz 720x576 apabila menggunakan -d 1,
DC10 merekodkan saiz 384x288 apabila menggunakan -d 2.
Apabila anda menambah kadar data audio dan video inilah yang boleh ditulis oleh cakera keras anda
penstriman berterusan, jika tidak, anda akan kehilangan bingkai.
Jika anda ingin bermain dengan --mjpeg-saiz penimbal. Ingat nilainya mestilah sekurang-kurangnya
cukup besar sehingga satu bingkai muat di dalamnya. Saiz satu bingkai ialah: (lebar * tinggi * kualiti
) / (200 * 1024) = kB Jika penimbal terlalu kecil, pengiraan kadar tidak sepadan dengan mana-mana
lebih banyak dan limpahan penimbal boleh berlaku. Nilai maksimum ialah 512kB.
Cara video berfungsi dan perbezaan antara jenis video diterangkan di sini:
Di sana anda juga temui cara mencipta Imej Pegun MPEG untuk VCD/SVCD.
Penerangan yang baik tentang DV (Video Digital) boleh didapati di sini:
Sesetengah buku we ditemui berguna
ditulis dalam bahasa Inggeris:
Video Digital dan HDTV oleh Charles Poyton (ISBN 1-55860-792-7)
Pemampatan Video Digital oleh Peter Symes (ISBN 0-07-142487-3)
Video Disahkan oleh Keith Jack (ISBN 1-878707-56-6)
ditulis dalam bahasa Jerman:
Fernsehtechnik von Rudolf Maeusl (ISBN 3-7785-2374-0)
Professionelle Videotechnik - analoge und digitale Grundlagen von U. Schmidt (ISBN
3-540-43974-9)
Filem Digital- dan Videotechnik von U. Schmidt (ISBN 3-446-21827-0)
Jika anda tahu beberapa buku lain yang sangat bagus tentang itu, tulis kami!
Merakam video
lavrec contoh
Rakaman dengan lavrec kelihatan seperti ini:
> lavrec -f a -i P -d 2 rekod.avi
Harus mula merakam sekarang,
-fa
gunakan AVI sebagai format output,
-i P
gunakan sebagai sumber input SVHS-In dengan format PAL,
-d 2
saiz gambar adalah separuh saiz (352x288)
rekod.avi
nama fail yang dibuat.
Rakaman selesai dengan menekan Ctrl-C (pada Papan Kekunci Jerman: Strg-C). Kadang-kadang menggunakan
-f A bukan -f a mungkin perlu
Contoh lain:
> lavrec -f q -i n -d 1 -q 80 -s -l 80 -R l -U rekod.avi
Harus mula merakam sekarang,
-fq
gunakan Quicktime sebagai format output,
-dalam
gunakan Composite-In dengan format NTSC,
-d 1
rakam gambar dengan saiz penuh (640x480)
-q 80
tetapkan kualiti kepada 80% daripada imej yang ditangkap
-s
gunakan mod stereo (mono lalai)
-l 80
tetapkan tahap rakaman kepada 80% daripada maksimum semasa rakaman
-R l
tetapkan sumber rakaman kepada Line-In
-U
Dengan lavrec ini menggunakan bacaan dan bukannya mmap untuk rakaman ini diperlukan jika bunyi anda
kad tidak menyokong mmap untuk rakaman.
Menetapkan pengadun tidak berfungsi dengan setiap kad bunyi. Jika anda merakam dengan 2 berbeza
tetapan dan kedua-dua rakaman adalah sama kuat anda harus menyediakan pengadun dengan pengadun
program. Selepas itu anda harus menggunakan -l -1 pilihan apabila anda merakam menggunakan lavrec
Saiz imej bergantung pada kad yang anda gunakan. Pada saiz penuh (-d 1) anda mendapat ini
saiz imej: BUZ dan LML33: 720x576, DC10 dan DC30: 768x576
Contoh lain:
> lavrec -w -f a -i S -d 2 -l -1 rekod%02d.avi
Harus mula merakam,
-w
Tunggu pengesahan pengguna bermula (tekan enter)
-fa
gunakan AVI sebagai format output,
-saya S
gunakan SECAM SVHS-Input (Rakaman Komposit SECAM juga mungkin: -adalah)
-d 2
saiz gambar adalah separuh saiz
-l -1
jangan sentuh tetapan pengadun
rekod%02d.avi
Di sini lavrec mencipta fail pertama bernama record00.avi selepas fail itu mencapai saiz
1.6GB (selepas kira-kira 20 Minit rakaman) ia memulakan urutan baharu bernama record01.avi dan
begitulah seterusnya sehingga rakaman dihentikan atau cakera penuh. Dengan keluaran 1.9.0
Versi mjpegtools mampu mengendalikan fail AVI yang lebih besar daripada 2GB. Jadi pilihan itu ada
untuk keserasian.
Contoh lain:
> lavrec -f a -i t -q 80 -d 2 -C eropah-barat:SE20 ujian.avi
Harus mula merakam sekarang,
-fa
gunakan AVI sebagai format output,
-ia
gunakan input penala,
-q 80
tetapkan kualiti kepada 80% daripada imej yang ditangkap
-d 2
saiz gambar adalah separuh saiz (352x288)
-C
pilih saluran TV, dan -it dan -iT yang sepadan (sumber video: penala TV) boleh
kini digunakan pada Marvel G200/G400 dan Matrox Millenium G200/G400 dengan Rainbow
Sambungan pelari (BTTV-Sokongan sedang dalam pembinaan). Untuk maklumat lanjut tentang cara membuat
bahagian penala TV kad ini berfungsi, lihat projek Marvel/Linux pada:
Contoh terakhir:
> lavrec -f a -i p -g 352x288 -q 80 -s -l 70 -R l --pengekodan perisian test03.avi
Dua pilihan baharu ialah -g 352x288, yang menetapkan saiz video untuk dirakam apabila
menggunakan --pengekodan perisian, ini membolehkan pengekodan perisian bagi imej yang dirakam. Dengan
pilihan ini anda juga boleh merakam dari kad berasaskan bttv. Beban pemproses adalah tinggi. ini
pilihan hanya berfungsi untuk kad video4linux generik (seperti brooktree-848/878 berasaskan
kad), ia tidak berfungsi untuk kad berasaskan zoran.
lain-lain rakaman Petua
Semua lavtools menerima penerangan fail seperti fail*.avi supaya anda tidak perlu menamakan setiap fail
tapi itu satu kemungkinan.
Nota: Lebih banyak pilihan diterangkan dalam halaman manusia, tetapi dengan ini anda sepatutnya boleh dapatkan
bermula.
Berikut ialah beberapa petua untuk tetapan yang wajar. Tukar kualiti kepada 80% atau lebih untuk -d 2
menangkap. Pada resolusi penuh serendah 40% nampaknya "sempurna" secara visual. -d 2 sudah
lebih baik daripada video VHS (*banyak*!). Untuk Marvel anda tidak sepatutnya menetapkan kualiti lebih tinggi daripada
50 apabila anda merakam pada saiz penuh (-d 1). Jika anda menggunakan tetapan yang lebih tinggi (-q 60) ia adalah lebih
berkemungkinan anda akan menghadapi masalah. Tetapan yang lebih tinggi akan menghasilkan titisan bingkai. Jika
anda berhasrat untuk mencipta VCD maka hanya sedikit yang dapat diperolehi rakaman sepenuhnya
resolusi kerana anda perlu mengurangkan kepada -d 2 resolusi kemudian.
anda boleh merakam pada saiz lain daripada yang jelas -d 1/2/4. Anda boleh menggunakan kombinasi di mana
anda menggunakan saiz mendatar separuh dan saiz menegak penuh: -d 21. Ini akan merekodkan untuk NTSC
pada saiz 352x480. Ini membantu jika anda ingin mencipta SVCD, menskalakan 352 Pixles meletakkan
hingga 480 tidak begitu kelihatan untuk mata seolah-olah anda akan menggunakan kombinasi lain -d 12.
Di mana anda mempunyai resolusi mendatar penuh dan separuh menegak Versi ini akan mempunyai a
saiz 720x288 untuk NTSC
Sesetengah maklumat mengenai yang tipikal lavrec output manakala rakaman
0.06.14:22 int: 00040 lst:0 in:0 del:0 ae:0 td1=0.014 td2=0.029
Bahagian pertama menunjukkan masa lavrec sedang merakam. int: selang antara dua bingkai.
lst: bilangan bingkai yang hilang. kepada and daripada: ialah bilangan bingkai yang dimasukkan dan dipadamkan
untuk pembetulan penyegerakan. ae: bilangan ralat audio. td1 and td2 adakah masa audio/video-
beza.
(int) bingkai selang hendaklah sekitar 33 (NTSC) atau 40 (PAL/SECAM). Kalau sangat
berbeza, anda mungkin akan mendapat rakaman yang buruk dan/atau banyak bingkai yang hilang
(pertama) hilang bingkai adalah buruk dan bermakna sesuatu tidak berfungsi dengan baik semasa
rakaman (HD terlalu perlahan, penggunaan CPU terlalu tinggi, ...) Cuba rakam dengan pengurangan yang lebih besar
dan mungkin kualiti yang lebih rendah.
(dalam, del) dimasukkan OR dipadamkan bingkai daripadanya adalah normal → penyegerakan. Jika anda telah banyak kehilangan DAN
bingkai yang disisipkan, anda terlalu banyak meminta mesin anda. Gunakan pilihan yang kurang menuntut atau
cuba kad bunyi yang berbeza.
(ae) audio kesilapan tidak pernah baik. Sepatutnya 0
(td1, td2) masa perbezaansentiasa terapung sekitar 0, melainkan pembetulan penyegerakan dilumpuhkan
(--synchronization!=2, 2 ialah lalai).
Nota mengenai ” jalinan bidang bagi - apa boleh go salah and bagaimana kepada menetapkan ia "
Pertama, apakah yang dimaksudkan untuk susunan medan jalinan adalah salah?
Rantaian pemprosesan imej mjpegtools adalah berorientasikan bingkai. Oleh kerana ia adalah bahan video yang
ditangkap setiap bingkai yang terdiri daripada medan teratas (baris ke-0, ke-2, ke-4 dan seterusnya) dan
medan bawah (baris ke-1, ke-3, ke-5 dan seterusnya).
Terdapat tiga perkara buruk yang boleh berlaku dengan bidang
Ini sebenarnya hanya isu untuk filem dalam video PAL di mana setiap bingkai filem dihantar sebagai a
sepasang bidang. Ini boleh dihantar medan atas atau bawah dahulu dan malangnya ia tidak selalunya
sama, walaupun bahagian bawah pertama kelihatan seperti biasa. Jika anda menangkap dengan susunan medan yang salah
(anda mula menangkap setiap bingkai dengan bahagian bawah dan bukannya atas atau sebaliknya) bingkai
daripada filem itu terbahagi *antara* bingkai dalam strim. Dimainkan semula di TV di mana masing-masing
medan dipaparkan sendiri ini tidak berbahaya. Urutan medan yang dimainkan semula ialah
betul-betul sama dengan urutan medan siaran. Malangnya, bermain semula pada a
Monitor komputer di mana kedua-dua medan bingkai muncul serentak ia kelihatan *mengerikan* kerana
setiap bingkai mencampurkan dua saat 1/25sec dengan berkesan dalam masa.
Kedua-dua medan boleh ditukar dengan mudah entah bagaimana supaya bahagian atas dianggap sebagai bawah dan bawah
layan sebagai atas. Menghakimi dan "menghiris" adalah hasilnya. Ini kadang-kadang nampaknya berlaku disebabkan
kepada gangguan perkakasan dalam kad tangkapan.
Di suatu tempat dalam menangkap/memproses *perintah* dalam masa dua medan dalam setiap bingkai boleh
tersalah label entah bagaimana. Ini tidak baik kerana ia bermakna apabila main balik akhirnya mengambil masa
letakkan medan yang mengandungi imej yang disampel lebih awal datang selepas imej diambil sampel
nanti. Kesan "penghakiman" yang pelik adalah hasilnya.
Bagaimanakah saya boleh mengenali jika saya mempunyai salah satu daripada Masalah ini?
Ini boleh menjadi sukar untuk dikesan. Jika anda mempunyai gambar yang berkelip-kelip secara misteri semasa main balik cuba
pengekodan coretan dengan tertib medan terbalik dipaksa (lihat di bawah). Jika keadaan membaiki anda
tahu apa masalahnya dan apa penyelesaiannya!
Kedua-dua medan boleh ditukar dengan mudah entah bagaimana supaya bahagian atas dianggap sebagai bawah dan bawah
layan sebagai atas. Menghakimi dan "menghiris" adalah hasilnya. Ini kadang-kadang nampaknya berlaku disebabkan
kepada gangguan perkakasan dalam kad tangkapan. Masalah itu kelihatan seperti itu:
Masalah jalinan
Di suatu tempat dalam menangkap/memproses *perintah* dalam masa dua medan dalam setiap bingkai boleh
tersalah label entah bagaimana. Ini tidak baik kerana ia bermakna apabila main balik akhirnya mengambil masa
letakkan medan yang mengandungi imej yang disampel lebih awal datang selepas imej diambil sampel
nanti. Kesan "penghakiman" yang pelik adalah hasilnya.
Jika anda menggunakan glav atau lavplay pastikan anda juga menggunakan -F/--kerlipan pilihan. Ini
melumpuhkan beberapa perkara yang menambah baik gambar.
Jika anda ingin melihat video anda juga boleh menggunakan yuvplay:
> lav2yuv │ ... │ yuvplay
Jika terdapat masalah pesanan medan anda harus melihatnya dengan yuvplay.
Bagaimana anda boleh memperbaikinya?
Untuk membetulkan ini, medan perlu "dialihkan" melalui bingkai. Gunakan yuvcorrect's -T
BOTT_FORWARD/TOP_FORWARD untuk mengalihkan cara medan diperuntukkan kepada bingkai. Anda boleh mengetahui
susunan medan semasa untuk fail MJPEG dengan melihat beberapa baris pertama nyahpepijat
keluaran daripada: > lav2yuv -v 2 the_mjpeg_file > / dev / null Atau rekod semula pertukaran -f a khususnya -F
A atau sebaliknya.
Ini juga tidak terlalu teruk. Gunakan alat yang hanya menukar medan atas dan bawah sesaat
masa. yuvcorrect boleh melakukan ini menggunakan -T LINE_SWITCH.
Mudah dibaiki. Sama ada beritahu alat di suatu tempat untuk melabel semula medan atau hanya beritahu
pemain untuk bermain semula dalam susunan bertukar (yang terakhir boleh dilakukan "secara tidak langsung" dengan memberitahu
mpeg2enc apabila mengekod ke berbalik yang bendera (-z b│t) yang memberitahu penyahkod medan mana
pesanan untuk digunakan.
In bagi kepada menentukan sebenarnya apa jenis of jalinan masalah anda mempunyai, anda perlu kepada
mengekstrak beberapa bingkai dari yang direkodkan aliran and mengambil a melihat at mereka:
> mkdir pnm
> lav2yuv -f 40 video.avi │ y4mtoppm │ pnmsplit - pnm/image%d.pnm
> rm pnm/gambar?.pnm
> cd pnm
> xv
Mula-mula kita buat direktori tempat kita menyimpan imej. Lav2yuv -f 40 hanya menulis
40 bingkai pertama untuk stdout. Program y4mtoppm menukar bingkai kepada imej pnm dan
pnmsplit membahagikan gambar kepada dua bingkai dalam gambar kepada dua gambar tunggal. Kemudian kami
alih keluar 10 imej pertama kerana pnmsplit tidak menyokong penomboran %0xd. Tanpa a
mendahului sifar dalam nombor, fail akan diisih dalam susunan yang salah, membawa kepada
main balik mengelirukan.
Gunakan program grafik kegemaran anda (xv sebagai contoh) untuk melihat gambar. Seperti setiap gambar
hanya mengandungi satu daripada dua medan itu akan muncul berskala menegak. Jika anda melihat pada
gambar yang anda patut lihat filem itu perlahan-lahan memajukan.
Jika anda mempunyai filem, anda harus sentiasa melihat 2 gambar yang hampir sama (kerana gambar
bingkai filem dipecahkan kepada dua medan untuk penyiaran) selepas satu sama lain. Anda boleh memerhati
ini dengan mudah jika anda mempunyai kesan sikat apabila anda menjeda filem kerana kedua-dua medan akan menjadi
dipaparkan pada masa yang sama. Kedua-dua gambar yang dimiliki bersama-sama harus mempunyai genap
nombor dan nombor ganjil berikut. Jadi jika anda melihat pada gambar: 4 dan 5 hampir
identik, 5 dan 6 berbeza (mempunyai pergerakan), 6 dan 7 identik, 7 dan 8 berbeza , ....
Untuk menyelesaikan masalah ini, anda perlu menggunakan yuvcorrect's -T BOTT_FORWARD or TOP_FORWARD. Anda boleh
juga mempunyai masalah bahawa susunan medan (atas/bawah) masih salah. Anda mungkin perlu
gunakan yuvcorrect buat kali kedua dengan -M LINE_SWITCH, atau gunakan fail mpeg2enc -z (b│t) pilihan.
Untuk melihat sama ada anda meneka dengan betul mengekstrak bingkai sekali lagi dan menyusun semula mereka menggunakan
yuvcorrect:
> lav2yuv -f 40 video.avi │ yuvcorrect -T OPTION │ y4mtoppm │ pnmsplit - pnm/image%d.pnm
Di mana "OPTION" ialah perkara yang anda fikir akan membetulkan masalah. Ini adalah untuk bahan yang ditukar
daripada filem. Bahan yang dihasilkan secara langsung untuk TV ditangani di bawah.
Hei, bagaimana dengan filem NTSC?
Filem disiarkan dalam NTSC menggunakan "3:2" pulldown yang bermaksud separuh daripada bingkai tangkapan
mengandungi medan daripada 1 bingkai filem dan separuh medan daripada 2 bingkai. Untuk membatalkan kesan ini untuk
pengekodan MPEG yang cekap anda perlu menggunakan yuvkineco.
Jika anda mempunyai sumber berjalin seperti kamera TV, anda mempunyai bingkai yang terdiri daripada dua medan
yang direkodkan pada titik masa yang berbeza. Mengesan masalah di sini adalah lebih sukar. awak
perlu mencari sesuatu yang bergerak secara mendatar dari kiri ke kanan. Apabila anda mengekstrak
bidang, benda itu harus bergerak dalam langkah kecil dari kiri ke kanan, bukan satu besar
maju ke depan, kecik ke belakang, besar ke depan, kecik belakang...... Kena guna sama
pilihan yang disebutkan aboth untuk membetulkan masalah.
Jangan jangka bahawa susunan medan sentiasa sama (atas atau bawah-dahulu) Ia mungkin berubah
antara saluran, antara filem, dan ia mungkin berubah dalam filem. Jika ia
perubahan berterusan anda mungkin perlu mengekod dengan mpeg2enc -I 1 atau bahkan -I 2.
Anda hanya boleh mengalami masalah ini jika anda merakam pada saiz penuh !!!
Mencipta video daripada sumber lain
Berikut ialah beberapa petua dan penerangan tentang cara membuat video daripada sumber lain seperti
imej dan jenis video lain.
Anda juga mungkin berminat untuk melihat pada Transcoding of sedia ada MPEG-2
bawah seksyen ini.
mewujudkan dan dari imej
Anda boleh menggunakan jpeg2yuv untuk mencipta strim yuv daripada imej JPEG yang berasingan. Strim ini dihantar
untuk stdout, supaya ia sama ada boleh disimpan ke dalam fail, dikodkan terus ke video mpeg
menggunakan mpeg2enc atau digunakan untuk apa-apa lagi.
Menyimpan aliran yuv boleh dilakukan seperti ini:
> jpeg2yuv -f 25 -I p -j image%05d.jpg > result.yuv
Mencipta hasil fail.yuv yang mengandungi data video yuv dengan 25 FPS. Pilihan -f ialah
digunakan untuk menetapkan kadar bingkai. Ambil perhatian bahawa image%05d.jpg bermakna bahawa fail jpeg dinamakan
image00000.jpg, image00001.jpg dan sebagainya. (05 bermaksud lima digit, 04 bermaksud empat digit,
dsb.) -I p diperlukan untuk menentukan jalinan. Anda perlu menyemak jenis anda
mempunyai. Jika anda tidak mempunyai jalinan hanya pilih p untuk progresif
Jika anda ingin mengekod video mpeg terus daripada imej jpeg tanpa menyimpan yang berasingan
jenis fail video:
> jpeg2yuv -f 25 -I p -j image%05d.jpg │ mpeg2enc -o mpegfile.m1v
Melakukan perkara yang sama seperti di atas tetapi menyimpan video mpeg dan bukannya video yuv. Lihat mpeg2enc
bahagian untuk butiran tentang cara menggunakan mpeg2enc.
Anda juga boleh menggunakan yuvscaler antara jpeg2yuv dan mpeg2enc. Jika anda ingin membuat SVCD
daripada imej sumber anda:
> jpeg2yuv -f 25 -I p -j image%05d.jpg │ yuvscaler -O CDLS │ mpeg2enc -f 4 -o video.m2v
Anda boleh menggunakan pilihan -b untuk menetapkan nombor imej untuk dimulakan. Jumlah
imej yang akan diproses boleh ditentukan dengan nombor -n. Sebagai contoh, jika pertama anda
imej ialah image01.jpg dan bukannya image00.jpg dan anda hanya mahu 60 imej diproses
Jenis:
>jpeg2yuv -b 1 -f 25 -I p -n 60 -j imej*.jpg │ yuv2lav -o stream_without_sound.avi
Menambah bunyi pada strim kemudian:
> lavaddwav stream_without_sound.avi bunyi.wav stream_with_sound.avi
Untuk input ppm terdapat ppmtoy4m util. Terdapat halaman manual untuk ppmtoy4m yang sepatutnya
dirujuk untuk mendapatkan maklumat tambahan.
Untuk membuat video mpeg cuba ini:
>kucing *.ppm │ ppmtoy4m -o 75 -n 60 -F 25:1 │ mpeg2enc -o keluaran.m1v
cat setiap fail *.ppm ke ppmtoy4m. Di sana 75 bingkai pertama (gambar) diabaikan dan seterusnya
60 dikodkan oleh mpeg2enc kepada output.m1v. Anda boleh menjalankannya tanpa pilihan -o dan -n. The
Pilihan -F menetapkan kadar bingkai, lalai ialah NTSC (30000:1001), untuk PAL anda perlu menggunakan -F
25: 1.
Format gambar lain juga boleh digunakan jika terdapat penukar kepada ppm.
>ls *.tga │ xargs -n1 tgatoppm │ ppmtoy4m │ yuvplay
Senarai nama fail (ls *.tga) diberikan kepada xargs yang melaksanakan tgatoppm dengan satu (-n
1) hujah setiap panggilan, dan suapan output ke ppmtoy4m. Video kali ini sahaja
ditunjukkan pada skrin. Xargs hanya diperlukan jika penukar (tgatoppm) hanya boleh beroperasi
pada satu imej pada satu masa.
Jika anda ingin menggunakan alat 'tukar' ImageMagick (Pisau Tentera Swiss) cuba:
>menukar * .gif ppm:- │ ppmtoy4m │ yuvplay
Ini bermakna ambil semua imej '.jpg' dalam direktori, tukar kepada format PPM, paip ke stdout,
kemudian ke ppmtoy4m untuk penukaran kepada y4m ....
Mentafsirkan sungai bersama pemain permainan
Menyahkod strim dengan mpplayer ialah cara yang bagus untuk membawa setiap video yang mpplayer boleh
main semula kepada sesuatu yang anda boleh edit atau enkod ke mpeg dengan mjpegtools. Kaedah ini mempunyai
telah diuji dengan mplayer 1.0rc2 dan harus berfungsi dengan versi yang lebih baharu
> mkfifo stream.yuv
>kucing stream.yuv │ yuv2lav -o mjpeg_wo.avi &
> pemain -tiada bunyi -noframedrop -vo yuv4mpeg anyfile.mpg
> pemain -vo sifar -kepada pcm:file=anyfile.wav anyfile.mpg
Kini anda mempunyai contoh AVI yang dikodkan mjpeg tanpa bunyi. Bunyi akan masuk
anyfile.wav. Anda boleh memilih jika anda ingin menambah bunyi pada AVI dengan lavaddwav and
edit fail sebelum pengekodan.
Anda juga boleh menggunakan bukan yuv2lav, mpeg2enc atau mana-mana alat lain daripada alat mjpeg jadi
arahan anda juga mungkin kelihatan seperti itu:
> kucing stream.yuv │ yuvdenoise │ yuvscaler -O CDLS │ mpeg2enc -f 4 -o video_svcd.m2v
cat fail wav ke mp2enc untuk mengekodkannya kepada audio MP2. The -vo yuv4mpeg pilihan berfungsi dengan baik
dengan jenis input lain yang disebut dalam dokumentasi mplayer.
Mentafsirkan MPEG-2 sungai bersama mpeg2dec
Anda boleh menyahkod strim mpeg2 dengan versi mpeg2dec yang ditampal yang mencipta strim yuv.
Anda boleh menyalurkannya ke mana-mana program mjpegtools yang lain. Atau anda menggunakan versi mpeg2dec
terus dari projek libmpeg2 dan gunakan mod output pgmpipe. Dengan pgmtoy4m
program anda boleh menukar output pgm itu kembali kepada yuv.
Jika anda bertanya kepada diri sendiri mengapa terdapat versi tampalan dan pgmtoy4m. Jawapannya ialah
patch untuk keluaran yuv telah dihantar beberapa kali kepada pembangun libmpeg2 tetapi tidak pernah
disertakan. Sekarang kita mempunyai dua cara untuk mengatasi masalah itu. Penyahkodan kelihatan seperti ini:
> mpeg2dec -s -o pgmpipe ANYTS.VOB │ pgmtoy4m -i t -a 10:11 -r 30000:1001 │ mpeg2enc -f 8
newvideo.m2v
Anda boleh menyahkod audio seperti yang diterangkan dalam Transcoding of sedia ada MPEG-2 Seksyen.
lain-lain perkara kepada Tahu
Jika anda mempunyai aliran Pengangkutan daripada kad DVB anda, atau Penerima Satelit, anda mungkin mahu
demultiplex atau potong mereka. Alat yang bagus untuk itu ialah Projek X Boleh didapati daripada:
Anda boleh memproses strim selepas itu seperti yang anda lakukan dengan mana-mana filem mpeg atau
video audio demultipleks. Jadi Transcoding of sedia ada MPEG-2 bahagian dokumen ini
akan menarik minat.Menyemak sama ada rakaman berjaya
Anda boleh menggunakan lavplay atau glav. PENTING: JANGAN cuba jalankan xawtv dan lavplay atau glav dengan
main balik perkakasan, ia tidak akan berfungsi. Untuk main balik perisian ia berfungsi dengan baik.
>lavplay -p S rekod.avi
Anda sepatutnya melihat video yang dirakam dan mendengar bunyinya. Tetapi penyahkodan video adalah
dilakukan oleh CPU yang akan meletakkan beban berat pada sistem. Kelebihan kaedah ini
adakah anda tidak memerlukan xawtv.
Cara yang lebih baik:
>lavplay -p H rekod.avi
Video dinyahkod dan dimainkan oleh perkakasan. Beban sistem sangat rendah. Ini akan
mainkan semula pada skrin menggunakan perkakasan dan bukannya penyahkodan perisian.
Anda juga boleh mencuba:
> lavply -p C rekod.avi
Yang akan memainkannya semula menggunakan perkakasan tetapi kepada output video kad.
> glav rekod.avi
Adakah perkara yang sama seperti lavplay tetapi anda mempunyai GUI yang bagus. Pilihan untuk glav dan lavplay ialah
hampir sama. Tidak menggunakan pilihan main balik SW digunakan.
Menggunakan main balik perkakasan isyarat untuk Komposit dan SVHS OUT dijana supaya anda boleh
menonton filem di TV anda.
> lav2yuv ujian.eli │ yuvplay
Adakah cara lain untuk mendapatkan video tanpa bunyi. Anda boleh menggunakan yuvplay sekali dalam pengekodan
perintah. Apabila anda menggunakan yuvplay dalam perintah pengekodan anda melihat perubahan yang dibuat oleh penapis
dan penskalaan. Anda juga boleh menggunakannya untuk penyahpepijatan gerakan perlahan.
PERHATIAN: Selepas memuatkan pemandu anda perlu memulakan xawtv untuk menyediakan beberapa perkara lavplay dan
glav tidak, tetapi ia diperlukan untuk HW-Playback. Jangan lupa tutup xawtv!!
NOTA2: Jangan cuba menghantar glav an lavplay ke latar belakang, tidak akan berfungsi dengan betul !!!
NOTA3: Main balik SECAM kini (12.3.2001) hanya dalam monokrom tetapi rakaman dan pengekodan
dilakukan dengan betul.
NOTA4:Kabel yang buruk boleh mengurangkan kualiti imej. Biasanya anda tidak dapat melihat ini tetapi apabila
terdapat teks yang anda mungkin perasan bayang-bayang kecil. Apabila anda melihat ini anda harus menukar
kabel.
Datang tidak lama lagi: Terdapat alat yang menjadikan video pengekodan semula sangat mudah: Linux Studio. awak
boleh muat turun di:
Edit video
Edit bersama glav
Kebanyakan tugas boleh dilakukan dengan mudah oleh glav. Seperti memadam bahagian video, potong tampal dan
salin bahagian video.
penerangan butang glav
Pengubahsuaian harus disimpan kerana glav tidak memusnahkan mengedit video. ini
bermakna bahawa video asal tidak disentuh dan pengubahsuaian disimpan dalam bentuk tambahan
Fail "Edit Senarai" boleh dibaca dengan editor teks. Fail-fail ini boleh digunakan sebagai input kepada
program lavtools lain seperti lav2wav, lav2yuv, lavtrans.
Jika anda ingin memotong permulaan dan penghujung strim tandakan permulaan dan
dan, dan gunakan butang "simpan pilih". Fail senarai edit digunakan sebagai input untuk
lavtools. Jika anda ingin membahagikan video yang dirakam kepada beberapa bahagian yang lebih kecil, pilih sahaja
bahagian dan kemudian simpan setiap bahagian ke fail senarai yang berbeza.
Anda boleh melihat semua perubahan pada video dan bunyi SEKARANG dan anda tidak perlu mengira semula
apa-apa.
Jika anda ingin mendapatkan versi "memusnahkan" penggunaan video anda yang diedit:
> lavtrans -o short_version.avi -f a senarai edit.eli
-o
menentukan nama output
-fa
menentukan format output (contohnya AVI)
senarai edit.eli
ialah fail senarai tempat pengubahsuaian diterangkan. Anda menjana fail senarai dengan
butang "simpan semua" atau "simpan pilih" dalam glav.
Menyatukan dan
> lavtrans -o stream.qt -f q rekod_1.avi rekod_2.avi ... rekod_n.avi
-o
menentukan nama fail output
-fq
menentukan format output, quicktime dalam kes ini
Ini biasanya tidak diperlukan. Perlu diingat bahawa terdapat had saiz fail 2GB pada 32Bit
sistem dengan glibc yang lebih lama. Biasanya tidak menjadi masalah hari ini
Berasingan membunyikan
> lavtrans -o bunyi.wav -f w stream.avi
Mencipta fail wav dengan bunyi stream.avi Mungkin diperlukan jika anda ingin mengalih keluar
bunyi bising atau jika anda ingin menukarnya kepada format bunyi lain.
Cara lain untuk membelah bunyi ialah:
> lav2wav senarai edit.eli >bunyi.wav
Berasingan imej
> mkdir jpg; lavtrans -o jpg/image%05d.jpg -f i stream.avi
Mula-mula buat direktori "jpg". Kemudian lavtrans akan mencipta imej JPG tunggal dalam jpg
direktori daripada fail stream.avi. Fail akan dinamakan: image00000.jpg,
image00001.jpg ....
Imej jpg yang dibuat mengandungi keseluruhan gambar. Tetapi jika anda telah merakam pada saiz penuh
imej disimpan berjalin. Biasanya penonton gambar hanya menunjukkan medan pertama dalam
fail jpg.
Jika anda ingin mempunyai imej dalam satu fail, anda boleh menggunakan versi itu
> lav2yuv -f 1 stream.avi │ y4mtoppm -L >fail.pnm
Jika anda ingin membahagikan medan menjadi fail tunggal gunakan itu:
> lav2yuv -f 5 ../stream.avi │ y4mtoppm │ pnmsplit - imej%d.pnm
Mungkin menarik jika anda memerlukan imej sampel dan tidak mahu bermain-main dengan merebut a
imej tunggal.
mewujudkan filem peralihan
Terima kasih kepada lavpipe Philipp Zabel, kami kini boleh membuat peralihan mudah antara filem atau
menggabungkan berbilang lapisan filem.
Philipp menulis HOWTO ini tentang cara membuat peralihan:
Mari kita anggap mudah adegan ini: Kami mempunyai dua video input intro.avi dan epilogue.mov dan
ingin membuat peralihan intro.avi ke epilogue.mov dengan tempoh satu saat (iaitu
25 bingkai untuk PAL atau 30 bingkai untuk NTSC).
Intro.avi dan epiloque.mov mestilah dalam format yang sama (kadar bingkai yang sama dan
resolusi). Dalam contoh ini, kedua-duanya ialah fail PAL 352x288. intro.avi mengandungi 250
bingkai dan epilog.mov ialah 1000 bingkai panjang.
Oleh itu fail output kami akan mengandungi:
225 bingkai pertama intro.avi
peralihan 25 bingkai yang mengandungi 25 bingkai terakhir intro.avi dan 25 bingkai pertama
daripada epilog.mov
975 bingkai epilog terakhir.mov
Kita boleh mendapatkan 25 bingkai terakhir intro.avi dengan menghubungi:
>lav2yuv -o 225 -f 25 intro.avi
-o 255, offset, memberitahu lav2yuv untuk bermula dengan bingkai # 225 dan
-f 25 menjadikannya mengeluarkan 25 bingkai dari sana.
Kemungkinan lain (kerana offset negatif dikira dari akhir) ialah:
> lav2yuv -o -25 intro.avi
Dan 25 bingkai pertama epilogue.mov:
> lav2yuv -f 25 epilog.mov
-o lalai kepada offset sifar
Tetapi kita perlu menggabungkan kedua-dua aliran dengan lavpipe. Jadi panggilannya ialah:
> lavpipe ”lav2yuv -o 255 -f 25 intro.avi” ”lav2yuv -f 25 epilogue.mov”
Keluaran ini ialah aliran yuv mentah yang boleh dimasukkan ke dalam transist.flt.
transist.flt perlu dimaklumkan tentang tempoh peralihan dan kelegapan bagi
aliran kedua pada permulaan dan pada akhir peralihan:
-o nombor
kelegapan input kedua pada permulaan [0-255]
-O num
kelegapan input kedua pada penghujung [0-255]
-d nombor
tempoh peralihan dalam bingkai
Kelegapan 0 bermakna aliran kedua adalah telus sepenuhnya (hanya strim satu
boleh dilihat), pada 255 aliran dua adalah legap sepenuhnya.
Dalam kes kami, panggilan yang betul (peralihan dari aliran 1 ke aliran 2) ialah:
> transist.flt -o 0 -O 255 -d 25
Parameter -s dan -n menyamai parameter -o dan -f lav2yuv dan hanya diperlukan
jika sesiapa mahu memberikan hanya sebahagian daripada peralihan atas apa jua sebab. Tolonglah
ambil perhatian bahawa ini hanya mempengaruhi pengiraan pemberat - tiada input yang benar-benar
dilangkau. Jika anda menggunakan parameter langkau (-s 30, sebagai contoh) anda juga perlu melangkau
30 bingkai pertama dalam lav2yuv (-o 30) untuk mendapatkan hasil yang diharapkan. Jika anda tidak
fahami ini menghantar e-mel kepada pengarang atau abaikan sahaja -s dan -n. Keseluruhan
prosedur akhirnya akan automatik.
Sekarang kami mahu memampatkan aliran yuv dengan yuv2lav:
> yuv2lav -f a -q 80 -o peralihan.avi
Membaca aliran yuv daripada stdin dan mengeluarkan fail avi (-fa) dengan bingkai jpeg yang dimampatkan
berkualiti 80.
Sekarang kita mempunyai keseluruhan arahan untuk membuat peralihan:
> ypipe ”lav2yuv -o 255 -f 25 intro.avi” ”lav2yuv -f 25 epilogue.mov” │ transist.flt -o 0
-O 255 -d 25 │ yuv2lav -f a -q 80 -o peralihan.avi
Video yang terhasil boleh ditulis sebagai Senarai Edit LAV (fail teks biasa) yang mengandungi
baris berikut:
Senarai Suntingan LAV
PAL
3
intro.avi
peralihan.avi
epilog.mov
0 0 224
1 0 24
2 25 999
Fail ini boleh dimasukkan ke dalam glav atau lavplay, atau anda boleh menyalurkannya ke mpeg2enc dengan lav2yuv
atau gabungkan keseluruhan bahan ke dalam satu fail mjpeg tunggal dengan lavtrans atau lav2yuv│yuv2lav.
Menukar strim kepada video MPEG atau DIVx
Pertama terdapat beberapa penerangan umum dalam proses pengekodan dan selepas itu terdapat a
penerangan terperinci tentang beberapa format output yang biasa digunakan.
Jika anda mahukan perbualan satu arahan untuk mpeg video cuba lav2mpeg dalam skrip
direktori
Pengekodan dengan skrip lav2mpeg kelihatan seperti ini untuk output mpeg1:
>lav2mpeg -a 160 -b 2110 -d 320x240 -m mpeg1 -o output.mpg file.eli
Akan mencipta mpeg1 dengan kadar bit video 2110kBit/saat dan kadar bit audio 160 kBit/saat
pada resolusi 320x240
Atau untuk penjanaan output mpeg2:
lav2mpeg -o mpeg2 -O output.mpg file.eli
Akan mencipta mpeg2 dengan kadar bit lalai dalam resolusi yang sama dengan resolusi input
Keputusan yang lebih baik boleh dicapai, bagaimanapun, dengan mencuba pelbagai pilihan dan mengetahui yang mana
yang paling sesuai untuk anda. Ini dibincangkan di bawah.
Penciptaan filem MPEG-1 diterangkan dengan lebih banyak contoh dan lebih terperinci
kerana kebanyakan perkara yang boleh digunakan untuk MPEG-1 juga berfungsi untuk output yang lain
format
Untuk penciptaan urutan VCD/SVCD Stills (-f 6 / -f 7 dalam mpeg2enc) anda seharusnya melihat:
Urutan pegun diperlukan untuk penciptaan menu dalam VCD/SVCD. Penciptaan menu adalah
diterangkan dalam doku vcdimager.
mewujudkan membunyikan
Video MPEG-1 memerlukan fail bunyi MPEG-1-Layer2 (MP2). Untuk video MPEG-2 anda boleh gunakan
MPEG-1-Layer2 dan MPEG1-Layer3 (MP3). Audio MP3 bukanlah format audio yang sah secara rasmi tetapi
ramai pemain VCD akan mengenalinya. Audio MP3 tidak sah untuk DVD. Awak patut berpegang
kepada MP2 kerana kebanyakan pemain MPEG-2 (Pemain DVD contohnya, biasanya Windows
Versi mempunyai masalah besar dengan ini juga) tidak dapat memainkan MPEG2-Video dan MP3
bunyi.
mp2enc ialah pengekod Audio MP2. Pengekod alat juga mampu menghasilkan fail MP2.
Toolame jauh lebih pantas daripada mp2enc tetapi toolame tidak melakukan pensampelan semula (48000 hingga 44100
sampel/saat). Banyak pemain perkakasan akan memainkan SVCD menggunakan audio kadar 48000. Untuk MP3
penciptaan Saya pasti anda mempunyai pengekod.
Contoh:
> lav2wav stream.avi │ mp2enc -o bunyi.mp2
Ini mencipta fail bunyi mpeg daripada stream.avi dengan kadar bit 224kBit/saat dan sampel
kadar 48kHz. Jika anda fail audio mempunyai 44.1kHz mp2enc sampel semula audio untuk mencipta 48kHz
pengeluaran. Jika anda mahukan kadar sampel output 44.1kHz anda perlu menambah -r 44100 ke mp2enc
arahan
Contoh
> kucing bunyi.wav │ mp2enc -v 2 -V -o bunyi.mp2
Ini menghasilkan output serasi VCD (-V bitrate=224, stereo, kadar pensampelan:44100) daripada
fail wav.
Dengan -v 2 mp2enc lebih bertele-tele, manakala pengekodan anda melihat bilangan saat audio
sudah dikodkan.
Anda boleh menguji output dengan:
> plaympeg bunyi.mp2
PERHATIAN: plaympeg ialah Pemain MPEG-1 untuk Linux, anda boleh menggunakan pemain lain juga. Untuk audio
ujian anda juga boleh menggunakan mpg123. Untuk memainkan audio dan video terdapat yang universal
pemain seperti VLC mpplayer dan lain-lain.
Menukar video
Mencipta video MPEG-1 dan MPEG-2.
Biasanya video pertama yang anda buat bukanlah yang terbaik. Untuk kualiti/saiz optimum anda perlu
bermain dengan kadar bit, jejari carian, penapis hingar .... Pilihan mpeg2enc ialah
diterangkan dalam halaman manual mpeg2enc.
Contoh:
lav2yuv stream.avi stream1.avi │ mpeg2enc -o video.m1v
Ini mencipta fail video dengan kadar bit malar lalai 1152kBit/saat. Ini adalah
kadar bit yang anda perlukan jika anda ingin mencipta VCD. Anda boleh menentukan lebih banyak fail dan juga menggunakan
pemegang tempat %nd. di mana n menerangkan nombor. Secara lalai mpeg2enc menganggap bahawa anda mahu
untuk mengekod video yang tidak berjalin kepada Mpeg-1. Jika anda ingin mengekod video bersaiz penuh dengan
menjalin perintah di atas akan gagal.
Contoh:
> lav2yuv streami%02d.avi │ mpeg2enc -b 1500 -r 16 -o video.m1v
mpeg2enc mencipta video dengan kadar bit 1500kBit/s menggunakan jejari carian 16. Itu
bermakna apabila cuba mencari 16*16 makroblok piksel yang serupa antara bingkai pengekod
kelihatan sehingga 16 piksel dari kedudukan semasa setiap blok. Ia kelihatan dua kali lebih jauh
apabila membandingkan bingkai 1 bingkai dan seterusnya. Nilai yang munasabah ialah 16 atau 24. Nilai lalai
ialah 16 jadi menambah pilihan di sini tidak berguna. Kurangkan nilai (0, 8), tingkatkan pengekodan
kelajuan tetapi anda mendapat kualiti yang lebih rendah (artifak lebih kelihatan) manakala nilai yang lebih tinggi (24, 32)
meningkatkan kualiti pada kos kelajuan. Dengan penerangan fail stream%02d.avi
semua fail diproses yang sepadan dengan corak ini dengan 00, 01....
Scaling
Menggunakan yuvscaler kini seseorang juga boleh menskalakan video sebelum mengekodnya. Ini boleh berguna
untuk pengguna dengan kad DC10 atau DC10+ yang menangkap pada -d 1 768x576 atau -d 2 384x288
(PAL/SECAM) atau -d 1 640x480 (NTSC).
Anda mendapat penerangan penuh tentang semua arahan dengan membaca halaman manual atau menjalankan:
>yuvscaler -h
Contoh:
> lav2yuv stream.avi │ yuvscaler -O VCD │ mpeg2enc -o video.m1v
Ini akan menskalakan strim kepada saiz VCD yang untuk PAL/SECAM ialah 352x288 dan untuk NTSC ialah
352x240. Yuvstream berskala dikodkan kepada MPEG-1.
Ia juga boleh melakukan penskalaan SVCD kepada 480x480 (NTSC) atau 480x576 (PAL/SECAM):
> lav2yuv stream.avi │ yuvscaler -O CDLS -M BICUBIC │ mpeg2enc -o video.m1v
Kata kunci mod (-M) memaksa yuvscaler menggunakan algoritma bikubik berkualiti tinggi untuk
penurunan skala dan bukan algoritma sampel semula lalai. Peningkatan skala sentiasa dilakukan menggunakan
algoritma bikubik.
Contoh:
> lav2yuv stream.avi │ yuvscaler -I USE_450x340+20+30 -O SAIZ_320x200 │ mpeg2enc -o
video.m1v
Di sini kami hanya menggunakan sebahagian daripada input dan menentukan resolusi output bukan standard.
PERHATIAN: yuvscaler boleh menetapkan kawasan aktif, dan menetapkan semua yang lain kepada hitam menggunakan: -I
ACTIVE_WidthxHeight+WidthOffset+HeightOffset Penskalaan berkualiti tinggi: y4mscaler
y4mscaler telah berada di sekitar untuk sekian lama. Tetapi ia adalah untuk masa yang agak lama tambahan
alat yang anda perlukan untuk menyusun. Terdapat halaman manual yang komprehensif menerangkan semua butiran,
terdapat juga banyak maklumat berguna di laman web:
Satu ciri unik ialah ia dapat menukar subsampling, dan Mod Choma. Dan kamu
boleh memilih kernel scaler, bergantung kepada sumber yang boleh banyak membantu.
Contoh:
> kucing mentah.yuv │ y4mscaler -O infer=CLIP -O pratetap=DVD -O sar=PAL_Wide │ mpeg2enc video.m1v
Dalam contoh ini y4mscaler akan mengambil aliran input dan menskalakannya kepada PAL yang sepadan
saiz. Pilihan sar memberitahu kepada skala adalah kepada format yang luas (16:9). The infer=klip pilihan akan
memberitahu y4mscaler bahawa ia boleh memotong bar atas dan bawah untuk menskalakannya kepada yang terhasil
saiz.
Contoh:
> mpeg2dec -o pgmpipe deluxe.m2v │ pgmtoy4m -x 420jpeg -r 25:1 -i t │ y4mscaler -I
sar=64:36 -I aktif=344x476+100+48 -O pratetap=DVD │ mpeg2enc -f 8 video.m1v
Ini adalah tugas yang lebih untuk y4mscaler. Kami mempunyai format sumber MPEG PAL yang pelik dengan 544x576
piksel dalam format skrin lebar 16:9, yang menjadikan bar hitam di sekeliling 4:3 asal
gambar. Perintah ini menskalakan imej kepada saiz asal 4:3 dan hanya mengambil
pusat yang menarik. SAR ialah nisbah aspek sampel yang hilang di suatu tempat jadi kami tentukan
ia pada mulanya. Jadi ia dinyatakan sekali lagi, daripada anda memberitahu y4mscaller saiz aktif
daripada gambar yang akan digunakan untuk menaikkan skala. Kata kunci aktif dilayan berbeza dalam
y4mscaler dan yuvscaler. DVD ialah pratetap untuk format output yang anda mahukan. Daripada
parameter aliran y4mscaler tahu bahawa ia adalah aliran PAL dan parameter output. Jika
anda mahukan output 16:9 anda perlu menggunakan kata kunci: DVD_WIDE.
Pengujian dilakukan oleh:
> pemain permainan video.m1v
PERHATIAN:Ini hanyalah contoh. Terdapat lebih banyak pilihan yang boleh anda gunakan. Anda boleh menggunakan kebanyakannya
bersama-sama untuk mencipta video berkualiti tinggi dengan kadar bit serendah mungkin.
NOTA2:Semakin tinggi anda menetapkan radius carian, semakin lama penukaran akan diambil. Secara umum
lebih banyak pilihan digunakan lebih lama pengekodan mengambil masa.
NOTA3:MPEG-1 tidak direka bentuk untuk menjadi VBR (strim kadar bit boleh ubah) !! Jadi jika anda mengekod
dengan -q 15 mpeg2enc menetapkan kadar bit maksimum -b kepada 1152. Jika anda mahukan VBR MPEG-1 anda ada
untuk menetapkan -b sangat tinggi (2500).
NOTA4:Mungkin anda perlu memberikan nama yang lebih baik daripada video.mpg. Idea yang baik ialah menggunakan pilihan
sebagai sebahagian daripada nama fail (contohnya: video_b1500_r16_41_21.m1v). Kemungkinan lain ialah
untuk memanggil semua fail audio lapisan 2 ".mp2" semua fail video MPEG-1 ".m1v" dan semua
Fail video MPEG-2 ”.m2v” Mudah untuk melihat apa yang berlaku kemudian. Simpan .mpg untuk dimultiplekskan
MPEG-1/2 strim.
Meletakkan yang sungai bersama-sama
Contoh:
> plex bunyi.mp2 video.m1v -o my_video.m1v
Meletakkan sound.mp2 dan video.m1v strim bersama ke my_video.mpg
Kini anda boleh menggunakan pemain MPEG pilihan anda dan menontonnya. Semua pemain (contohnya gtv)
berdasarkan perpustakaan SMPEG berfungsi dengan baik untuk MPEG-1. Pemain lain (yang boleh memainkan MPEG-2 sebagai
serta filem MPEG-1) ialah: xmovie, xine dan MPlayer VLC, untuk menamakan beberapa.
PERHATIAN: Jika anda telah menentukan -S pilihan untuk mpeg2enc plex akan secara automatik membelah
fail jika terdapat dalam nama fail output a %d (kelihatan seperti: -o test%d.mpg) Fail
dijana dengan cara ini adalah wap MPEG yang berdiri sendiri yang berasingan!
NOTA2: xine mungkin menghadapi masalah mencari melalui video. mpplayer mempunyai masalah dengan
"cari ke belakang/ke hadapan" dengan aliran bitrate berubah kerana ia pergi ke hadapan dalam
failkan jumlah data untuk aliran bitrate yang berterusan. Jumlah itu mungkin ketara
lebih daripada 10 saat atau satu minit (itulah jumlah yang dicari oleh pemain untuk setiap akhbar
kekunci anak panah). Jadi jangan tertanya-tanya sama ada ia mencari lebih banyak masa ke hadapan atau ke belakang daripada anda
menjangkakan.
Pembolehubah kadar bit pemultipleksan: Ingat untuk memberitahu mplex anda mengekodkan VBR (pilihan-V) sebagai
serta mpeg2enc (lihat skrip contoh). Ia *boleh* auto-kesan tetapi ia tidak berfungsi
belum lagi. Anda harus memberitahu plex saiz penimbal video sekurang-kurangnya sebesar saiz yang anda tentukan
kepada "mpeg2enc" Nombor masuk akal untuk MPEG-1 mungkin kadar bit siling 2800Kbps,
siling kualiti (lantai kuantisasi) 6 dan saiz penampan 400K.
Contoh:
> plex -V -r 1740 audio.mp2 video_vbr.m1v -o vbr_stream.mpg
Di sini kita memultiplekskan aliran bitrate berubah-ubah. mplex ialah pemultipleks pas tunggal jadi ia
tidak dapat mengesan kadar bit maksimum dan kami perlu menentukannya. Kadar data untuk output
strim ialah: kadar bit audio + kadar bit video puncak + 1-2% untuk maklumat mplex. Jika audio (-b
224) ialah 224kBit dan video ialah 1500kBit (dikodkan dengan -b 1500 -q 9) maka kita mempunyai 1724 *
1.01 atau kira-kira 1740kBit.
Contoh:
> plaympeg my_video.mpg
or
> pemain permainan my_video.mpg
mewujudkan MPEG-1 Video
Untuk video MPEG-1 anda boleh menggunakan audio MP2 dan video MPEG-1. Subset filem MPEG-1 ialah
VCD. Anda boleh menggunakan VBR (Variable BitRate) untuk Video (walaupun VCD hampir selalu
gunakan video CBR) tetapi Audio mestilah CBR (Kadar Bit Malar).
MPEG-1 disyorkan untuk saiz gambar sehingga 352x288 untuk PAL dan 352x240 untuk NTSC untuk
saiz yang lebih besar MPEG-2 adalah pilihan yang lebih baik. Tiada resolusi tepat di mana MPEG-1 berada
lebih baik daripada MPEG-2. Hanya untuk membuat masam, MPEG-1 tidak boleh mengendalikan sumber berjalin. Jika awak
video berjalin anda memerlukan MPEG-2 untuk mendapatkannya dikodkan dengan betul.
Contoh penciptaan Audio MPEG-1
> lav2wav senarai edit.eli │ mp2enc -r 44100 -o bunyi.mp2
Anda boleh menyimpan beberapa bit dengan memberitahu mp2enc untuk menggunakan kadar bit yang lebih rendah (-b pilihan) seperti 160 atau
192 kBit/s. Pilihan -r 44100 memaksa mp2enc menjana fail audio 44.1kHz.
> lav2wav senarai edit.eli │ mp2enc -b 128 -m -o bunyi.mp2
Ini menghasilkan output mono dengan kadar bit 128kBit/saat. Input kali ini ialah
fail editlist (boleh mempunyai sebarang nama) dibuat dengan glav supaya semua perubahan yang anda buat dalam glav adalah
terus diproses dan diserahkan kepada mp2enc. Anda TIDAK perlu membuat strim yang diedit
dengan lavtrans untuk menukarnya dengan betul.
Contoh penciptaan Video MPEG-1
> lav2yuv senarai edit.eli │ mpeg2enc -b 2000 -r 24 -q 6 -o video.m1v
mpeg2enc mencipta video dengan kadar bit 2000kBit/s (atau 2048000Bit/s) tetapi bendera -q
mengaktifkan kadar bit berubah dan faktor kualiti 6. Ia menggunakan jejari carian 24.
Keterangan:apabila mpeg2enc dipanggil tanpa bendera 'q' ia mencipta "constantbit-rate"
aliran MPEG. Di mana (secara longgar) kekuatan mampatan (dan oleh itu gambar
kualiti) dilaraskan untuk memastikan bahawa secara purata setiap bingkai video mempunyai tepat
bilangan bit yang ditentukan. Aliran kadar bit yang berterusan sedemikian diperlukan untuk penyiaran dan
untuk perkakasan kos rendah seperti pemain DVD dan VCD yang menggunakan perkakasan pemain kelajuan tetap yang perlahan.
Jelas sekali ini agak tidak cekap kerana ini bermakna adegan tidak aktif menggunakan bit yang boleh
lebih baik "dibelanjakan" pada adegan yang berubah dengan pantas. Menetapkan bendera 'q' memberitahu mpeg2enc kepada
menjana aliran kadar bit berubah-ubah. Untuk aliran sedemikian, kadar bit yang ditentukan hanyalah
maksimum yang dibenarkan. Parameter 'q' menentukan tahap pemampatan minimum
digunakan dengan menentukan cara tepat maklumat gambar direkodkan. Biasanya 'q' ialah
ditetapkan supaya adegan senyap akan menggunakan kurang daripada maksimum yang ditentukan (sekitar 6 atau 8) tetapi
adegan bergerak pantas masih akan terhad pada kadar bit. Untuk tujuan arkib tetapan a
kadar bit maksimum yang cukup tinggi tidak boleh dicapai (cth 10Mbps) dan aq 2 atau 3 adalah
pilihan yang munasabah.
Contoh:
> lav2yuv stream.avi │ yuvscaler -I AKTIF_352x240+0+24 │ mpeg2enc -b 1152 -r 16 -4 1 -2 1
-o video.m1v
Biasanya terdapat di bahagian atas dan di bahagian bawah sempadan yang hampir hitam dan lebar jalur yang banyak
digunakan untuk sesuatu yang anda tidak suka. Pilihan yuvscaler -I AKTIF menetapkan semua perkara itu
tidak berada dalam kawasan yang diterangkan kepada hitam tetapi saiz imej (352x288) tidak diubah. Jadi anda
mempunyai sempadan hitam sebenar pengekod hanya menggunakan beberapa bit untuk mengekodnya. Kamu masih
serasi dengan format VCD dalam contoh ini. Untuk menentukan ekstrak tetingkap aktif
satu bingkai ke format jpeg:
> lavtrans -f i -i 100 -o bingkai.jpg ujian.avi
Daripada menggunakan program paparan grafik kegemaran anda untuk menentukan saiz aktif. -4 1 dan
-2 1 pilihan meningkatkan kualiti kira-kira 10% tetapi penukaran adalah lebih perlahan.
Pada saiz 352x288 (1/2 saiz PAL dibuat apabila menggunakan pilihan -d 2 semasa merakam)
kadar bit yang diperlukan ialah/sepatutnya antara 1000 - 1500kBit/s. Untuk NTSC ia sepatutnya mengenai
sama, kerana imej lebih kecil tetapi terdapat lebih banyak bingkai sesaat berbanding dalam PAL.
Bagaimanapun, faktor utama ialah kualiti asal dan tahap penapisan. miskin
bahan tidak ditapis berkualiti biasanya memerlukan kadar yang lebih tinggi untuk mengelakkan artifak yang boleh dilihat. Jika
anda ingin mengurangkan kadar bit tanpa artifak yang menjengkelkan apabila memampatkan bahan siaran
anda harus mencuba satu (atau lebih) penapis hingar.
Contoh:
> lav2yuv stream.avi │ mpeg2enc -b 1500 -n s -g 6 -G 20 -P -o video.m1v
Di sini stream.avi akan dikodkan dengan:
-b 1500
Kadar Bit 1500kBit/saat
-NS
norma Video input dipaksa untuk SECAM
-P
Ini memastikan bahawa 2 bingkai B muncul antara bingkai I/P bersebelahan. Beberapa MPEG-1 biasa
penyahkod tidak boleh mengendalikan aliran yang tidak mempunyai 2 bingkai B antara bingkai I/P
-g 6 -G 20
pengekod boleh menukar saiz kumpulan gambar secara dinamik untuk mencerminkan perubahan pemandangan.
Ini dilakukan dengan menetapkan saiz GOP maksimum (-G bendera) lebih besar daripada minimum (-g bendera).
Untuk VCD nilai wajar mungkin minimum 9 dan maksimum 15. Untuk SVCD 9 dan 15
akan menjadi nilai yang baik. Jika anda hanya mahu memainkannya semula pada pemain SW, anda boleh menggunakan min-
nilai maks.
Contoh:
> lav2yuv strim*.avi │ mpeg2enc -b 1500 -r 16 -4 1 -2 1 -S 630 -B 260 -o
video_n1_1500_r16_41_21_S630_B240.m1v
lav2yuv memproses semua fail strim. Kemudian mpeg2enc diberi beberapa pilihan yang membuat
strim yang dikodkan kelihatan lebih bagus. menggunakan -S 630 bermakna mpeg2enc menandakan aliran supaya mplex
menjana aliran baharu setiap 630MB. Satu perkara penting ialah penggunaan -B pilihan yang
menentukan kadar bit bukan video (maklumat audio dan mplex). The -B nilai 260 sepatutnya
baik untuk audio dengan maklumat 224kBit dan mplex. Untuk maklumat lanjut sila lihat
pada skrip pengekodan dalam direktori skrip.
Contoh Penggandaan MPEG-1
Contoh:
>mplex bunyi.mp2 video.m1v -o my_video.mpg
Meletakkan sound.mp2 dan video.m1v strim bersama ke my_video.mpg. Ia hanya berfungsi itu
mudah jika anda mempunyai CBR (pilihan -q tidak digunakan dengan mpeg2enc).
Contoh:
plex -V -r 1740 audio.mp2 video_vbr.m1v -o vbr_stream.mpg
Di sini kita memultiplekskan aliran bitrate berubah-ubah. mplex kini merupakan pemultipleks pas tunggal jadi ia
tidak dapat mengesan kadar bit maksimum dan kami perlu menentukannya. Kadar data untuk output
aliran ialah: audio kadar bit + puncak kadar video + 1-2% khususnya plex maklumat. Jika audio (-b
224) mempunyai 224kBit, video mempunyai 1500kBit (telah dikodkan dengan -b 1500 -q 9) maka kita mempunyai 1724 *
1.01 atau kira-kira 1740kBit.
mewujudkan MPEG-2 Video
MPEG-2 disyorkan untuk sumber dengan gambar yang lebih besar daripada 352x240 untuk NTSC dan 352x288
untuk PAL. MPEG-2 juga boleh mengendalikan sumber berjalin seperti rakaman daripada TV sepenuhnya
resolusi.
MPEG-2 membenarkan penggunaan bunyi mpeg lapisan 3 (mp3). Jadi anda boleh menggunakan kegemaran anda
mp3encoder untuk penciptaan bunyi. Walau bagaimanapun, audio MP3 tidak sah untuk DVD. Ia
adalah yang terbaik untuk menggunakan audio MP2 (Lapisan 2). Audio juga boleh menjadi aliran VBR.
MPEG-2 biasanya aliran VBR. Penciptaan MPEG-2 dengan pengoptimuman memerlukan banyak CPU
kuasa. Filem dengan peleraian berganda BUKAN 4 kali lebih besar daripada strim MPEG-1.
Bergantung pada tetapan kualiti anda, ia akan menjadi kira-kira 1.5 hingga 3 kali lebih besar daripada
Strim MPEG-1 pada peleraian yang lebih rendah. Contoh penciptaan audio MPEG-2
> lav2wav senarai edit.eli │ mp2enc -o bunyi.mp2
Anda boleh menyimpan beberapa bit dengan memberitahu mp2enc untuk menggunakan kadar bit yang lebih rendah (-b pilihan) seperti 160 atau
192 kBit/s. Anda mungkin mahu menambah -r 44100 supaya mpeg2enc menjana pensampelan 44.1kHz
kadar audio. Saya harap saya tidak perlu menerangkan penggunaan Pengekod MP3. Tetapi anda sepatutnya
tidak menggunakan semua pilihan mewah yang tersedia.MPEG-2 Contoh penciptaan video
> lav2yuv senarai edit.eli │ mpeg2enc -f 3 -b 3000 -q 9 -o video.m2v
Contoh yang sangat mudah untuk Video MPEG-2. Pilihan yang paling penting ialah -f 3. Itu memberitahu
mpeg2enc bahawa ia harus mencipta aliran MPEG-2. Kerana ia adalah MPEG-2 generik yang anda perlu lakukan
gunakan pilihan kadar bit -b. Dan harus menggunakan pilihan -q kerana anda biasanya mahukan ruang
menyimpan aliran VBR. Apabila menggunakan aliran VBR pilihan -b memberitahu mpeg2enc kadar bit maksimum
yang boleh digunakan. Pilihan -q memberitahu mpeg2enc kualiti yang sepatutnya ada pada strim. The
kadar bit mempunyai sempadan atas nilai yang ditentukan oleh -b.
> lav2yuv senarai edit.eli │ mpeg2enc -f 3 -4 1 -2 1 -q7 -b 4500 -V 300 -P -g 6 -G 18 -I 1 -o
video.m2v
Ini akan menjana strim MPEG-2 berkualiti tinggi kerana pilihan -4 1 dan -2 1 adalah
digunakan. Dengan -b 4500 -q 7 anda memberitahu mpeg2enc kadar bit maksimum dan faktor kualiti. -V
ialah saiz penimbal video yang digunakan untuk menyahkod strim. Untuk main balik SW ia boleh banyak
lebih tinggi daripada lalai. GOP dinamik ditetapkan dengan -g dan -G. Saiz GOP yang lebih besar boleh membantu
mengurangkan kadar bit yang diperlukan untuk kualiti tertentu tetapi saiz yang sangat besar boleh diperkenalkan
artifak akibat ralat pembundaran terkumpul DCT/iDCT. Pilihan -P juga memastikan bahawa 2
Bingkai B muncul di antara bingkai I/P bersebelahan. Pilihan -I 1 memberitahu mpeg2enc bahawa
sumber ialah bahan berjalin seperti video. Terdapat (memakan masa) gerakan berjalin
logik pampasan terdapat dalam mpeg2enc. Mpeg2enc akan menggunakan logik itu jika saiz fail
bingkai yang anda kodkan adalah lebih besar daripada saiz VCD untuk Norma TV anda.
Jika anda menyahinterlace filem dengan yuvdeinterlace anda harus memberitahu mpeg2enc bahawa ia berfungsi
tidak perlu melakukan anggaran gerakan untuk bahan berjalin. Anda perlu menggunakan pilihan -I 0
daripada mpeg2enc untuk mengatakan bahawa bingkai sudah dinyahjalin. Ini akan menjimatkan banyak masa
apabila pengekodan. Jika anda tidak menggunakan -I 0 ia tidak akan menyebabkan masalah, pengekodan hanya akan
mengambil masa yang lebih lama.
Anda juga boleh menggunakan penskalaan pilihan yang mengoptimumkan (denoise) imej untuk menjadi lebih kecil
aliran. Pilihan ini diterangkan secara terperinci dalam bahagian berikut.Nilai yang mana
patut digunakan untuk Pengekodan VBR?
Pilihan -q mengawal kuantisasi minimum aliran keluaran. Kuantisasi
mengawal ketepatan maklumat imej yang dikodkan. Semakin rendah nilai
kualiti imej yang lebih baik. Nilai di bawah 4 adalah melampau dan hanya boleh digunakan jika anda tahu
apa yang sedang anda lakukan
Biasanya anda perlu menyediakan kadar bit maksimum dengan pilihan -b. Tugas yang sukar adalah untuk
tetapkan nilai untuk pilihan -q dan pilihan -b yang menghasilkan filem yang bagus tanpa menggunakan
terlalu banyak lebar jalur dan tidak memperkenalkan terlalu banyak artifak.
Faktor kualiti harus dipilih sedemikian rupa sehingga output plex bagi kadar bit Puncak dan
kadar bit purata berbeza kira-kira 20-25%. Jika perbezaannya sangat kecil (kurang daripada
10%) berkemungkinan anda akan mula melihat artifak dalam adegan bergerak tinggi. Paling banyak
punca biasa kadar purata terlalu hampir (atau sama) dengan kadar maksimum adalah salah
nilai untuk kadar bit maksimum atau faktor kualiti yang terlalu tinggi.
Gabungan yang akan menghasilkan lebih banyak artifak daripada yang anda boleh kira ialah SVCD dengan maksimum
kadar bit video 2500kBit dan faktor kualiti 1 atau 2. Untuk SVCD dengan had video sebanyak
2500kBit faktor kualiti 7-11 padan agak baik (8 ialah lalai). Jika anda menggunakan penapis
program atau mempunyai sumber yang sangat baik seperti TV digital, DVD seperti bahan atau yang diberikan
gambar anda boleh menggunakan faktor kualiti 6 semasa membuat SVCD. Jika pemain SVCD/DVD anda
menyokong kadar bit bukan standard anda boleh meningkatkan kadar bit melebihi maksimum standard
2788 kBit/saat (video ditambah audio). Apabila menggunakan kadar bit yang lebih tinggi dan tindakan faktor kualiti
adegan akan kelihatan lebih baik tetapi sudah tentu masa bermain cakera akan menjadi kurang.
Faktor kualiti (7-11) yang sama untuk gambar bersaiz penuh dan kadar bit teratas 3500 hingga 4000
kBit akan menghasilkan sedikit artifak.
Untuk SVCD/DVD anda boleh menjangkakan hasil seperti yang diterangkan jika kadar bit maksimum tidak
ditetapkan terlalu rendah:
q <= 6 gambar tajam sebenar, dan kualiti yang baik
q <= 8 kualiti yang baik
q >= 10 kualiti purata
q >= 11 tidak begitu baik
q >= 13 di sini walaupun urutan masih mungkin kelihatan berhalangan
Pengekodan TV destinasi (berjalin) atau Monitor (progresif)
MPEG-2 menyokong data berjalin sebagai tambahan kepada format progresif. Filem MPEG-2 boleh
berjalin atau progresif. Ia bergantung kepada sumber (filem atau siaran) dan pada
peranti melihat.
Jika anda mengekod filem kedua-dua medan hendaklah sama. Nyahinterlace strim dengan
yuvdeinterlace, atau jika anda mempunyai sumber berkualiti tinggi, dan tidak perlu menggunakan denoiser
dengan yuvcorrect -T NOT_INTERLACED. Juga tetapkan pilihan interlace-mode (-I) mpeg2enc kepada 0.
Ini bermakna tiada jalinan. Kami tidak benar-benar memerlukan deinterlacing di sini kerana
tiada gerakan di antara medan bingkai. Kita hanya perlu menyatukan dua bidang
ke dalam bingkai progresif tunggal.
Filem ini harus memainkan semula mana-mana peranti (TV atau Monitor) tanpa masalah.
Jika anda mempunyai sumber berjalin (siaran), anda boleh mengekodnya sebagai strim berjalin. Ataupun
nyahinterlace strim dan mengekodnya sebagai strim progresif. Jika anda menyahjalinkannya dengan
yuvdeinterlace anda akan kehilangan butiran. Tetapi jika anda bercadang untuk memainkan strim yang dirakam pada anda
Pemain DVD dan TV anda adalah tidak bijak untuk melakukan penyahjalinan. Jika anda hanya mahu
mainkan semula pada Monitor (paparan progresif) gambar kelihatan lebih baik apabila memainkannya
kembali jika ia dijalin. Jika pemain yang anda gunakan boleh melakukan deinterlacing tidak mengapa
jika video anda yang dikodkan mempunyai bingkai berjalin atau bingkai progresif.
Jika anda bercadang untuk menyahinterlace strim anda hanya boleh melakukan ini dengan yuvdeinterlace dan tetapkan
mpeg2enc -I 0. Jika anda tidak mahu menyahjalin aliran anda tidak perlu menetapkan sebarang
pilihan khas (jangan gunakan yuvdeinterlace dan mpeg2enc -I 0)
Jika anda suka menjeda strim dan melihat pada pegun, anda harus nyahinterlace. Kerana kemudian
imej bebas berkelip apabila berhenti seketika.
Jika anda mempunyai filem (progresif) dengan bahagian dari siaran (berjalin) bercampur bersama
(seperti dalam dokumentari di mana beberapa bahagian daripada pembesar suara dirakam berjalin dan lain-lain
bahagian difilemkan) anda perlu memilih antara urutan filem yang baik dengan imej pegun purata
atau urutan filem yang kelihatan rata-rata dengan imej pegun yang baik.
Untuk filem yang bagus dengan pegun biasa, jangan tercabut. Untuk urutan filem purata dengan
pegun yang baik kemudian nyahinterlace (menggunakan yuvdeinterlace dan mpeg2enc -I 0).MPEG-2 Multiplexing
contoh
> plex -f 3 -b 300 -r 4750 -V audio.mp3 video.m2v -o final.mpg
Kini kedua-dua strim (audio mp3 dan video mpeg2) adalah pemultipleks ke dalam satu strim
(final.mpg). Anda perlu menggunakan -f 3 pilihan untuk memberitahu plex format output. Awak juga
perlu menambah -b pilihan saiz penimbal penyahkod dengan nilai yang sama digunakan semasa pengekodan
video. -r ialah kadar video + audio +1-2% daripada maklumat plex.
. -Vpilihan memberitahu bahawa sumber anda untuk plexing ialah aliran VBR. Jika anda tidak menggunakan ini
pilihan mplex mencipta sesuatu seperti aliran CBR dengan kadar bit yang anda telah memberitahunya
yang -r pilihan. Aliran ini biasanya menjadi BESAR.
mewujudkan video CD (VCD)
VCD ialah versi terhad bagi video MPEG-1. Format VCD telah ditakrifkan oleh Philips. Matlamat
adalah menggunakan pemacu CD kelajuan tunggal dan perkakasan murah lain (tidak fleksibel) untuk mempunyai yang murah
Pemain HW. Kerana itu terdapat batasan untuk video dan audio yang digunakan untuk membuat VCD.
Kadar bit untuk video ialah 1152kBit dan 224kBit/sec audio MP2. Anda tidak dibenarkan menggunakan
pilihan -q, saiz GOP dinamik dan penimbal video adalah terhad kepada 46kB. Saiz imej
terhad kepada 352x240 untuk NTSC, dan kepada 352x288 untuk PAL.
Jika anda tidak mempunyai pemain VCD (sahaja) dan anda bercadang untuk menggunakan pemain DVD anda maka ia adalah agak sukar
kemungkinan pemain DVD akan cukup fleksibel untuk membenarkan kadar bit yang lebih tinggi, GOP dinamik
saiz, penimbal video yang lebih besar dan sebagainya Contoh penciptaan AudioVCD
> lav2wav stream.avi │ mp2enc -V -o bunyi.mp2
-V memaksa keluaran serasi VCD 2.0. Di sana kadar sampel audio ditetapkan kepada 44.1kHz. Dan
anda boleh memilih kadar bit audio untuk audio mono menjadi 64, 96 atau 192kBit/saat. Jika anda mempunyai
audio stereo anda boleh memilih 128, 192, 224 atau 384kBit/saat. Untuk pemain perkakasan, anda
hendaklah berpegang pada 44.1 224kBps Stereo lapisan 2 Audio.VCD Contoh penciptaan Video
> lav2yuv stream.avi │ yuvscaler -O VCD │ mpeg2enc -f 1 -r 16 -o video.mpg
Untuk output serasi VCD, -f 1 menetapkan semua pilihan dalam mpeg2enc mengikut keperluan. Ia seolah-olah bahawa
banyak pemain VCD (contohnya Avex) tidak dapat memainkan aliran MPEG yang dikodkan
dengan jejari carian lebih besar daripada 16 jadi jangan gunakan pilihan -r untuk mengatasi lalai
daripada 16.
> lav2yuv streams.eli │ mpeg2enc -f 1 -4 1 -2 1 -S 630 -B 260 -P -o video.m1v
Menggunakan '-S 630 ' bermakna mpeg2enc menandakan strim supaya mplex menjana strim baharu
setiap 630MB. Satu perkara penting ialah penggunaan -B pilihan yang menentukan bukan video
(maklumat audio dan mplex) kadar bit. Nilai -B 260 sepatutnya baik untuk audio dengan
224kBit dan maklumat plex. Untuk maklumat lanjut, lihat skrip pengekodan
dalam direktori skrip. Strim bermultipleks harus mudah dimuatkan pada CD 650MB.
Nilai lalai (-B) ialah 700MB untuk video. mpeg2enc menandakan secara automatik setiap aliran
pada saiz itu jika pilihan -B tidak digunakan untuk menetapkan nilai yang berbeza. Jika anda mempunyai CD
di mana anda boleh menulis lebih banyak data (mungkin sebanyak 800MB) anda perlu menetapkan pilihan -S atau
jika tidak mpeg2enc akan menandakan strim pada 700 MB, dan plex akan membahagikan strim di sana.
Yang hampir pasti bukan yang anda mahukan.
Contoh Multiplexing VCD
> plex -f 1 bunyi.mp2 video.mpg -o vcd_out.mpg
Pilihan -f 1 menghidupkan banyak perkara pelik yang sebaliknya tidak mempunyai tempat dalam sesuatu yang dihormati
pemultipleks!Mencipta CD
Strim berganda perlu ditukar kepada VCD yang serasi. Ini dilakukan oleh
vcdimager
> vcdimager testvideo.mpg
Membuat a videocd.bin, fail data dan a videocd.cue yang digunakan sebagai fail kawalan untuk
cdrdao.
Anda menggunakan cdrdao untuk membakar imej. Cdrdao merupakan satu lagi projek Sourceforge yang baik iaitu
ditemui di: Nota
Untuk pengekodan MPEG-1, tayangan biasa (masa tayangan 45 minit) atau filem 90 minit ganjil daripada sebuah
siaran analog dengan kadar bit malar sekitar 1800 kBit/saat sepatutnya sesuai. The
fail yang terhasil adalah sekitar 700M selama 45 minit yang sesuai dengan baik sebagai data mentah XA MODE2
trek pada CD-R. Untuk sumber digital tulen (strim DTV atau DVD dan seumpamanya) VCD 1152 berfungsi
denda.
Catatan: Jika anda mengekod VBR MPEG-1 (-q) ingat Perkakasan mungkin tidak direka untuk melakukannya
main balik kerana ia tiada dalam spesifikasi. Jika ia berfungsi sangat gembira. saya dah
perasan bahawa ia membantu apabila anda mempunyai aliran MPEG-1 untuk memberitahu vcdimager bahawa ia adalah SVCD.
vcdimager mengadu (tetapi hanya dengan amaran dan bukan ralat maut) tetapi anda sepatutnya dapat
untuk membakarnya. Ini boleh meyakinkan pemain untuk menggunakan rutin yang berbeza dalam perisian tegarnya dan
mainkan semula dengan betul tetapi tiada jaminan untuk itu.Menyimpan MPEG
Jika anda merekodkan data sebagai trek mod XA 2, anda boleh memuatkan lebih banyak pada CD (di
perbelanjaan pembetulan/pengesan ralat). Anda boleh menggunakan vcdimager untuk melakukan ini dan vcdxrip (bahagian
daripada pakej vcdimager) untuk mengekstrak ("rip") fail yang terhasil. Untuk Kualiti yang lebih baik di sana
ialah SVCD dan XVCD dan DVD.
Pada masa ini SVCD disokong sepenuhnya dengan format pra-tetap dalam plex dan alatan untuk dibuat
cakera. Strim MPEG yang boleh dimainkan oleh perkakasan dan perisian pemain DVD dengan mudah
dihasilkan menggunakan mpeg2enc/mplex
Jika pemain anda tidak menyokong SVCD, anda mungkin mendapati ia boleh mengendalikan aliran VCD yang mempunyai
jauh lebih tinggi daripada kadar bit standard. Selalunya sebanyak 2500kBit/saat boleh. The
beberapa jenama pemain DVD juga boleh bermain secara liar di luar spec SVCD dan cakera VCD. Dengan
kadar bit yang lebih tinggi dan bahan sumber berkualiti baik patut mencuba bendera -h mpeg2enc
yang menghasilkan aliran yang setajam had standard VCD yang dibenarkan.
Walau bagaimanapun, jika pemain anda menyokongnya dan anda mempunyai kesabaran untuk pengekodan yang lebih lama
kali SVCD adalah alternatif yang lebih baik. Menggunakan SVCD format MPEG yang lebih cekap daripada
menggandakan resolusi VCD sambil biasanya menghasilkan fail yang kurang daripada dua kali lebih besar.
mewujudkan CDLS
CD Video Super (SVCD) ialah peningkatan kepada CD Video yang dibangunkan oleh orang Cina
jawatankuasa pengilang dan penyelidik yang disokong kerajaan. Spesifikasi SVCD terakhir ialah
diumumkan pada September 1998. Penjelasan yang baik tentang format SVCD daripada Philips boleh
terdapat di sini: .
Rakam pada resolusi TV penuh (bermaksud: -d 1 untuk PAL ini ialah 720x576) Resolusi adalah untuk
NTSC ialah 480x480 PAL 480x576, jadi anda tahu sebab anda perlu merakam pada saiz penuh. SVCD Audio
contoh ciptaan
> lav2wav stream.avi │ mp2enc -V -e -o bunyi.mp2
Spesifikasi SVCD membenarkan pilihan kadar audio yang lebih luas, tidak perlu
gunakan 224 kBit/saat. Sebarang kadar audio antara 32 dan 384 kBit/saat dibenarkan. Audio mungkin
menjadi VBR (Kadar Bit Pembolehubah). The -e membolehkan perlindungan ralat CRC untuk audio. CRC
perlu didayakan untuk mematuhi piawaian SVCD tetapi nampaknya kebanyakan pemain tidak membayar
perhatian kepada maklumat CRC. Maklumat CRC memerlukan 2 bait setiap bingkai Audio
Anggaran formula panjang bingkai untuk MPEG-1 layer-II ialah:
(panjang bingkai dalam bait) = 144 * (kadar bait) / (kadar sampel)
Jika anda mempunyai tetapan VCD biasa, data CRC memerlukan kira-kira 0,27% daripada keseluruhan data. Dalam
kes paling teruk di mana anda mempunyai aliran Bitrate MONO 32k, data CRC memerlukan 1,92%.SVCD
Contoh penciptaan video
> lav2yuv stream.avi │ yuvscaler -O CDLS │ mpeg2enc -f 4 -q 7 -I 1 -V 200 -o video.m2v
-f 4
menetapkan pilihan untuk mpeg2enc kepada SVCD
-q 7
beritahu mpeg2enc untuk menjana aliran bitrate berubah-ubah
-Saya 1
beritahu mpeg2enc untuk menganggap bahawa isyarat asal ialah video berjalin medan di mana ganjil
baris piksel diambil sampel selang separuh bingkai selepas yang genap dalam setiap bingkai. -I
0 (output progresif (tiada gambar medan)) juga akan berfungsi untuk PAL
Anda boleh menggunakan kadar bit yang lebih rendah tetapi had standard SVCD jumlah kadar bit (audio and video)
kepada 2788800 Bit/saat. Jadi dengan audio 224Kbps dan overhed 2550 mungkin sudah sedikit juga
ketat. Memandangkan format SVCD membenarkan sebarang kadar audio antara 32 dan 384 kBit/saat anda boleh
simpan beberapa bit/saat dengan menggunakan audio 192k (atau untuk bahan bukan muzik 160k).
SVCD menyokong kadar bit berubah (VBR), kerana MPEG-2 biasanya VBR, tetapi dengan bahagian atas
had kadar bit video 2500kBit/saat. Dengan bendera -f 4 pengekod juga menetapkan GOP dinamik
dengan had rendah -g 6 dan had tinggi -G 18. Ini menjimatkan beberapa bit/saat dan bertambah baik
kualiti gambar semasa adegan berubah. Apabila pengekodan dengan -f 4 mpeg2enc mengabaikan
pilihan kadar bit video (-b) dan jejari carian (-r). Jika anda menggunakan -f 5 anda perlu menentukan
bitrate dan pilihan lain untuk mpeg2enc.
Satu lagi kemungkinan untuk filem dalam video PAL (gaya Eropah 25 bingkai/50 medan sesaat)
ialah:
> lav2yuv stream.avi │ yuvscaler -O CDLS │ mpeg2enc -f 4 -I 0 -V 300 -o video.m2v
Filem dirakam pada filem pada 24 bingkai/saat. Untuk siaran PAL filem ini hanya ditayangkan
sedikit "terlalu laju" pada 25 bingkai/saat (menyusahkan orang dengan nada mutlak
rasa nada). Bendera -I 0 mematikan pengiraan yang membosankan yang diperlukan untuk mengimbangi
jalinan medan memberikan pengekodan yang lebih pantas.
Malangnya, filem yang disiarkan dalam video NTSC (gaya AS 30 bingkai/60 medan saat) ini akan
menghasilkan mampatan yang sangat lemah. Persampelan "pulldown" digunakan untuk menghasilkan 60 medan sesaat
daripada 24 bingkai filem kedua bermakna separuh bingkai dalam NTSC *adalah* medan berjalin.
Jangan lupa pilihan -S dan -B yang dinyatakan di atas. Anda mahu strim dimuatkan pada CD
bukan ?contoh pemultipleksan SVCD
> plex -f 4 -b 300 -r 2750 bunyi.mp2 video.m2v -o svcd_out.mpg
-f 4
memberitahu mplex kepada mplex SVCD
-r 2750
ialah Audio + Video Kadar Bit + 1-2% maklumat multipleks
-b 300
ialah penimbal tersedia pada peranti main balik (nilai yang sama seperti yang digunakan untuk video
pengekodan (pilihan -V mpeg2enc). SVCD mencipta CD
Contoh:
> vcdimager -t svcd testvideo.mpg
Membuat a videocd.bin, fail data dan a videocd.cue yang digunakan sebagai fail kawalan untuk
cdrdao.
Gunakan cdrdao untuk membakar imej seperti yang dinyatakan sebelum ini.
PERHATIAN:Jika anda ingin membina VCD/SVCD "tersuai" anda perlu menggunakan plex -f 2 dan -f 5
suis.
PERHATIAN:Bahan VCD dan SVCD mungkin berfungsi pada pemain HW anda atau tidak. Terdapat banyak laporan bahawa
ia berfungsi dengan baik. Jangan risau jika ia tidak berkesan. Saya juga tidak bertanggungjawab
CD yang tidak boleh digunakan. ("coaster")
mewujudkan DVD
Kenyataan ini betul beberapa tahun yang lalu: Semua dalam bahagian ini adalah baharu. The
batasan yang saya nyatakan di sini mungkin tidak wujud dalam versi semasa. Pada masa ini (Dis. 2007)
Penciptaan DVD berfungsi.
Anda jelas memerlukan seorang penulis DVD. Saya memang memiliki DVD+RW Ricoh yang berfungsi, dan saya tahu tentang DVD-
Penulis RAM yang mampu membakar DVD-R. Cakera itu juga berfungsi dengan Pemain DVD. Sekarang kebanyakan
Penulis DVD boleh membakar kedua-dua media + dan -, jadi itu tidak sepatutnya menjadi masalah lagi.
Program yang anda gunakan untuk membakar bergantung pada pemacu penulis DVD.
Untuk penciptaan dan penulisan fail VOB, IFO dan BUP kami menggunakan dvdauthor. Boleh didapati daripada
Sourceforge (anda mungkin telah menekanya) .Contoh penciptaan Audio DVD
> lav2wav stream.eli │ mp2enc -o bunyi.mp2
Kadar sampel mestilah 48kHz. Mp2enc mencipta secara lalai kadar sampel 48kHz.
Jika ia bukan mp48enc 2kHz akan sampel semula audio untuk mendapatkan kadar sampel. Jika audio
direkodkan pada 48kHz maka tiada pensampelan semula diperlukan dan toolame boleh digunakan untuk pengekodan
(ia lebih pantas daripada mp2enc). Contoh penciptaan video DVD
> lav2yuv stream.eli │ mpeg2enc -f 8 -o video.m2v
-f 8
Ini menetapkan pilihan dengan betul untuk video MPEG-2 yang mematuhi DVD
standard. Kadar bit maksimum ditetapkan kepada 7500kBps dan saiz penimbal video ditetapkan kepada
230KB. Faktor kualiti lalai ditetapkan kepada 8. mpeg2enc set currenty no automatic
panjang jujukan seperti yang berlaku untuk VCD/SVCD.
Pilihan lain untuk mendapatkan kadar bit rendah dan strim berkualiti tinggi juga boleh digunakan
mengatasi tetapan lalai yang dinyatakan di atas. Anda juga boleh menggunakan yuvdenoise untuk meningkatkan
kualiti gambar jika data input bising (dari pita VHS sebagai contoh). Satu tipikal
arahan akan kelihatan seperti ini:
lav2yuv moby.eli │ yuvdenoise │ mpeg2enc -f 8 -q 7 -4 1 -2 1 -P -I 0 -N -o
video_DVD.m2vContoh pemultipleksan DVD
> plex -f 8 bunyi.mp2 video.m2v -o my_dvdlikestream.mpg
-f 8
Di sini sekali lagi kami menyatakan bahawa kami mahu mempunyai DVD seperti aliran MPEG. plex tidak boleh melakukan semua
perkara mewah dibenarkan untuk DVD, tetapi ia cukup dekat untuk pemain HW-DVD menerimanya.
-o
di sana kita tentukan nama fail output. Contoh penciptaan DVD
Topik ini akan diliputi oleh dokumentasi program dvdauthor. Untuk soalan
sila lihat Secara umum ia akan berfungsi seperti ini:
> dvdauthor -o pengeluaran/ stream1.mpg stream2.mpg ... my_dvdlikestream.mpg; dvdauthor -T -o
pengeluaran/
Anda akan mendapat direktori dengan direktori AUDIO_TS dan VIDEO_TS. Membakar data daripada
cakera kepada penulis DVD+-R/+-RW akan dilakukan seperti ini:
growisofs -Z /dev/scd2 -dvd-video mydvd/
Jika anda memiliki pemacu DVD+RW/+R, tempat yang baik untuk mendapatkan maklumat lanjut ialah:
muka surat. Anda juga memerlukan versi cdrtools dengan dvd-video sokongan. cdrtools
1.11a27 diketahui berfungsi tetapi versi yang lebih baharu sudah wujud.
Bagi penulis lain arahan untuk menulis DVD akan berbeza. Anda boleh mendapatkan lebih banyak lagi
maklumat dalam pakej dvdauthor. Tidak ada jaminan bahawa ia akan berfungsi sama sekali !!!
mewujudkan DIVX Video
lav2avi.sh
Cara lain untuk mencipta DIVX ialah program mencoder iaitu daripada projek mpplayer. .
Untuk maklumat lanjut tentang mencoder sila baca mencoder/mplayer bantuan dan dokumen. A
hantaran pertama dan kedua diberikan pada akhir isyarat hantaran untuk kadar bit yang boleh digunakan untuk
pengekodan kepada saiz tertentu (650 MB, 700 MB dan 800 MB). Skrip lav2avi.sh menggunakan ini
maklumat jika disediakan (untuk aliran pendek ia dikecualikan oleh mencoder). Cari parameter
preferedSize dalam skrip. Anda juga boleh menentukan parameter lain yang digunakan untuk pengekodan dengan
pengekodParam pilihan dalam skrip. Untuk penerangan tentang parameter yang boleh digunakan lihat
dalam manual mpplayer/mencoder.
Nama fail output ialah nama fail input anda (pilihan pertama) tetapi dengan sambungan
avi. Jika saiz fail kurang maka ditentukan oleh preferedSize ia adalah kerana sumber
adalah berkualiti tinggi (tiada bunyi bising) dan kadar bit yang ditentukan adalah lebih tinggi daripada yang diperlukan.
Anda biasanya mendapat 700MB untuk filem 1.5 jam pada saiz separuh imej dengan kadar bit sekitar 900 itu
bermakna untuk divx kualiti yang baik (dengan andaian bahan sumber kualiti yang baik sudah tentu).
Skrip melakukan pengekodan 3 langkah:
Langkah pertama - pengekodan audio
Langkah ke-2 - pas video pertama
Langkah ke-3 - pas video kedua
Dokumentasi mplayer/mencoder menghentikan penggunaan kaedah pengekodan 3 pas (ia
boleh menyebabkan masalah penyegerakan A/V) dan mengesyorkan penggunaan kaedah 2 pas. The
dokumentasi mencoder/mplayer adalah luas dan mempunyai banyak petunjuk berguna (dan bitrate
kalkulator dalam direktori TOOLS/).
Untuk pengekodan gunakan codec ffmpeg (lavc) pantas. Ia memberikan hasil yang bagus bersama-sama dengan tinggi
persembahan bagus. Untuk pengekodan audio mp3 digunakan. Untuk pengekodan semua bahagian ia menggunakan unix
paip. Ini bermakna anda TIDAK memerlukan ruang tambahan pada cakera keras anda di mana semua glav
manipulasi akan dilakukan. Untuk pengekodan audio skrip menggunakan baris gilir FIFO.
Jika anda ingin mengubah suai skrip untuk keperluan anda sendiri gunakan petua ini:
Output langkah pertama ialah fail dipanggil frameno.avi dengan audio yang dikodkan
Langkah ke-2 adalah menggunakan frameno.avi dan output ialah fail teks yang dipanggil lavc_stats.txt dengan masa
maklumat yang
Langkah ke-3 adalah menggunakan frameno.avi and lavc_stats.txt untuk pengekodan aliran kepada output
fail movie2.avi
Jika anda mahu menukar hanya kadar bit video simpan fail frameno.avi ulas langkah pertama
pengekodan dan ulangi langkah ke-2 dan ke-3. Jangan lupa untuk mengalih keluar garisan di mana
frameno.avi dikeluarkan.
Mengoptimumkan aliran
Menggunakan penapis membantu meningkatkan kualiti imej strim video kadar bit malar (CBR).
Dengan video VBR (kadar bit boleh ubah) saiz fail dikurangkan.
Contoh:
> lav2yuv stream.avi │ yuvmedianfilter │ mpeg2enc -o video.m1v
Di sini program yuvmedianfilter digunakan untuk menambah baik imej. Ini menghilangkan beberapa yang rendah
kekerapan bunyi dalam imej. Ia juga melembutkan sedikit imej. Ia memerlukan pusat
penunjuk dan purata piksel di sekelilingnya yang berada dalam ambang yang ditentukan. Ia
kemudian menggantikan piksel tengah dengan nilai baharu ini. Anda juga boleh menggunakan -r (radius)
pilihan untuk jejari carian lain.
PERHATIAN:jejari yang lebih besar daripada nilai lalai 2 adalah sangat perlahan!
yuvmedianfilter mempunyai tetapan berasingan untuk luma dan kroma. Anda boleh mengawal carian
jejari dan ambang pencetus secara bebas. Jika anda menggunakan ambang 0 maka
penapisan dinyahdayakan (-t 0 melumpuhkan penapisan luma, -T 0 melumpuhkan penapisan kroma).
> lav2yuv stream.avi │ yuvmedianfilter -r 3 -t 4 -T 0 │ mpeg2enc -o video.m1v
Contoh ini menggunakan jejari carian 3 piksel untuk luma, ambang 4 (default
ialah 2), dan melumpuhkan penapisan untuk komponen kroma. Kadang-kadang, bergantung kepada
bahan sumber, penapisan median kroma boleh menyebabkan peralihan warna sedikit ke arah
hijau. Penapisan pada komponen luma (melumpuhkan penapisan kroma) adalah penyelesaiannya
untuk masalah itu.
Contoh:
> lav2yuv stream.avi │ yuvdenoise │ mpeg2enc -o video.m1v
Kini kami menggunakan yuvdenoise untuk menambah baik imej. Penapis terutamanya mengurangkan warna dan
kecerahan-bunyi dan kelipan kerana ralat fasa tetapi juga berkesan untuk mengalih keluar
bintik-bintik.
yuvdenoise denoise berjalin jika input berjalin. Anda sudah tentu boleh menukar
ambang denoiser (-g/t). Mencipta sempadan hitam boleh menurunkan kadar bit yang dikodkan
aliran kerana kawasan hitam tulen memampatkan lebih baik daripada bunyi (menangkap dari analog
sumber seperti VHS dan 8mm biasanya mempunyai beberapa baris pada masa dan bahagian bawah yang
sangat bising). Untuk ini, anda boleh menggunakan skala.
yuvdenoise menggunakan pendekatan berbeza untuk menapis bunyi. Maklumat lanjut tentang bagaimana
yuvdenoise berfungsi serta penerangan tentang pilihannya terdapat dalam halaman manual.
Jika anda mempunyai sumber berkualiti tinggi, anda harus menurunkan penapis ke tahap seperti itu: -g
0,255,255 -t 2,2,2. Anda juga mungkin menggunakan fail mpeg2enc -h/--kekal-hf pilihan. Pilihan itu
memberitahu mpeg2enc untuk menyimpan seberapa banyak maklumat frekuensi tinggi yang mungkin. Menggunakan -h akan
meningkatkan kadar bit (saiz fail). Jika kadar bit terlalu hampir kepada maksimum (set
dengan -b) pengekod perlu mengurangkan kualiti untuk mengelakkan melebihi maksimum
kadar bit.
Penapis terbina dalam mpeg2enc ialah pilihan -N/--reduce-HF. Pilihan ini tidak begitu
tapis dalam erti kata biasa. Sebaliknya ia mengubah bagaimana sebenarnya maklumat frekuensi tinggi
dikodkan. Selalunya frekuensi tinggi adalah bunyi bising. Anda juga mempunyai frekuensi tinggi pada tajam
sempadan atau peralihan. Pilihan -N boleh mempunyai nilai antara 0.0 dan 2.0 dengan 0.0
tiada apa-apa (melumpuhkan rangsangan pengkuantiti frekuensi tinggi) dan 2.0 memberikan maksimum
rangsangan kuantisasi. Nilai untuk digunakan bergantung pada kualiti output yang dikehendaki dan saiz fail.
Nilai -N kurang daripada 0.5 adalah sangat halus manakala nilai 1.0 akan mencapai kebaikan
keseimbangan antara pengurangan kadar bit dan kualiti output. Menggunakan nilai -N di atas 1.5 akan
ketara mengurangkan ketajaman gambar output dan biasanya digunakan hanya untuk yang lemah
sumber kualiti (pita VHS sebagai contoh).
Menggunakan keupayaan yuvmedianfilter untuk hanya menapis kroma (-T) adalah sederhana berkesan
untuk mengurangkan hingar dalam pemandangan gelap tanpa melembutkan imej semasa biasa (lebih cerah)
adegan. Penapisan median luma (-t) akan menghasilkan kadar bit yang lebih rendah tetapi boleh menyebabkan
kehilangan perincian (lembut). Penapisan median Chroma sahaja adalah kurang agresif dan bagus
pilihan untuk digunakan dalam kombinasi dengan yuvdenoise.
Menggabungkan penapis yuvdenoise, yuvmedianfilter dan pilihan mpeg2enc -N memberikan
tahap kawalan halus ke atas kadar bit (saiz fail). Pengurangan (atau peningkatan) dalam
kadar bit bergantung pada bahan sumber dan pilihan pengekodan/penapis tepat yang digunakan. Jadi kita
tidak boleh memberikan nombor tepat berapa banyak setiap pilihan dan gabungan akan mengurangkan saiz fail,
hanya garis panduan.
Biasanya anda harus menggunakan pilihan -N dalam julat dari 0.5 hingga 1.5. Di bawah 0.5 ia tidak
mengurangkan kadar bit dengan sangat banyak (tetapi mengekalkan ketajaman). Pada 1.5 dan lebih tinggi anda akan
perhatikan kelembutan dalam video dan mungkin artifak (halo/dering) di sekeliling tepi
objek (teks/sari kata terutamanya). Jika anda menggabungkan penapis anda harus menggunakan yuvdenoise
dan mungkin selepas itu yuvmedianfilter. Mungkin yuvmedianfilter walaupun selepas penskalaan. mempunyai
yuvmedianfilter dalam rantaian tidak mengurangkan kadar bit sebanyak itu. Selalunya penggunaan
yuvdenoise sudah memadai. Penapis yuvmedian banyak membantu jika anda mempunyai sumber berkualiti rendah, dan
tidak seberapa jika anda sudah mempunyai kualiti yang agak baik. Apabila anda menggabungkan penapis dan
pilihan anda berkemungkinan besar akan mengurangkan saiz fail kepada kira-kira separuh daripada saiz fail tanpa
menggunakan pilihan dan program.
Secara umum penapisan agresif akan menghasilkan fail yang lebih kecil (kadar bit yang lebih rendah) tetapi mengurangkan
kualiti (butiran) gambar. Penapisan/pemprosesan yang kurang agresif akan mengekalkan lebih banyak lagi
terperinci tetapi menghasilkan fail yang lebih besar.
Contoh:
> lav2yuv stream.avi │ yuvkineco -F 1 │ mpeg2enc -o video.m1v
yuvkineco digunakan untuk sumber NTSC. Ia melakukan perbualan dari 30000.0/1001.0 (kira-kira
29.97) fps hingga 24000.0/1001.0 (kira-kira 23.976) fps, anda boleh memanggilnya "terbalikkan 2-3 pulldown"
maklumat lanjut tentang perkara ini dalam README.2-3pulldown. yuvkineco hanya mengalih keluar khusus NTSC
masalah.
Jika anda ingin menambah baik imej anda juga harus menggunakan yuvdenoise:
> lav2yuv stream.avi │ yuvkineco │ yuvdenoise │ mpeg2enc -o video.m1v
Contoh
> lav2yuv stream.avi │ yuvycsnoise │ mpeg2enc -o video.m1v
yuvycsnoise juga digunakan untuk NTSC dan khusus untuk bunyi pemisahan Y/C NTSC. Jika
perkakasan tangkapan video hanya mempunyai pemisah Y/C yang lemah kemudian pada jalur menegak (terutamanya
bunyi merah/biru) muncul yang kelihatan bendera pemeriksa dan songsang terang/gelap setiap 1 bingkai.
yuvycsnoise mengurangkan bunyi jenis ini. Anda juga boleh menggunakan ambang yang berbeza untuk
luma/chroma dan kaedah pengoptimuman. Penapis ini tidak diperlukan dengan bekerja dengan DV
(Video Digital).
yuvycsnoise berfungsi hanya betul apabila kami mempunyai NTSC dengan:
ketinggian penuh (480 baris)
gerakan penuh ditangkap (29.97 fps)
ditangkap dengan perkakasan pemisah Y/C yang lemah
Untuk maklumat lanjut tentang yuvkineco dan yuvycsnoise baca README dalam yuvfilters
direktori.
Jika anda ingin mencuba untuk menentukan tetapan optimum untuk denoiser, scaler dan
seterusnya gantikan mpeg2enc dengan yuvplay. yuvplay memainkan semula bingkai yuv supaya anda boleh melihat
jika pilihan yang telah anda pilih menjadikan perkara itu lebih baik atau lebih teruk.
Perintah akan kelihatan seperti ini:
> lav2yuv stream.eli │ yuvdenoise -pilihan │ yuvscaler -pilihan │ yuvplay
Jika anda ingin tahu berapa banyak setiap alat merendahkan kadar bit purata. Anda boleh menggunakan jadual ini
untuk melihat apa yang anda boleh jangkakan jika anda mempunyai video bersaiz penuh dan ingin mencipta DVD dengan a
faktor kualiti 5 dan kadar bit maksimum yang dibenarkan 8500kb/saat.
tiada denoising : 8300 kb/s (kebanyakannya mencecah sempadan atas)
yuvenoise : 7700 kb/s
mpeg2enc --reduce-hf : 7400 kb/s
yuvdenoise + yuvmedian penapis : 6000 kb/s
yuvdenoise + mpeg2enc --reduce-hf : 4900 kb/s
semua di atas : 3600 kb/s
Manakala -N│--kurangkan-hf atau yuvdenoise sahaja hanyalah peningkatan sederhana, bersama-sama mereka
mengurangkan kadar bit dengan ketara. Tidak ada perbezaan yang ketara antara
menggunakan yuvdenoise sahaja dan yuvdenoise dengan mpeg2enc --reduce-hf. Nilai yang berguna ialah
antara 0.0 dan 1.5. Di mana anda boleh mengatakan bahawa semakin tinggi faktor kualiti yang anda inginkan, semakin tinggi
kurang pilihan ini bertambah baik. Pada faktor kualiti 4 anda menjimatkan menggunakan -N 1.0 kira-kira 1%. Jika awak
mahukan faktor kualiti 9 dan gunakan -N 1.0 anda mungkin menjimatkan sehingga 40%. Tetapi anda mungkin menjimatkan
kurang, itu bergantung pada video yang anda encode!!!
Jika anda bertanya kepada diri sendiri mengapa tidak menggunakan semua penapis di atas? Jawapannya ialah
imej menjadi lembut (kehilangan butiran) dan masa pengekodan meningkat. Kebanyakan penapis
setiap satu memerlukan lebih kurang jumlah masa yang sama seperti yang diperlukan oleh mpeg2enc untuk pengekodan video.
Jika anda mempunyai bahan berkualiti tinggi dan ingin menyimpan setiap butiran yang anda harus cuba gunakan
mpeg2enc --keep-hf│-h sebaliknya.
Catatan: Pengurangan kadar bit yang anda miliki bergantung pada bahan dan pada bunyi bising
imej.
Pilihan mpeg2enc lain yang menarik ialah -E│--unit-coeff-elim pilihan. Pilihan ini adalah
dilumpuhkan secara lalai. Jika anda mendayakannya, algoritma khas "penyingkiran pekali unit",
digunakan pada blok gambar yang dikodkan. Pada asasnya proses ini memaksa blok a
jenis yang tidak membawa banyak maklumat (tetapi menggunakan banyak bit untuk mengekod) untuk dilangkau. A
nilai negatif meneliti asas (DC) serta pekali AC. Nilai yang positif
bermakna hanya pekali tekstur (AC) yang diperiksa dan mungkin disifarkan. The
nilai yang disyorkan terletak antara -20 dan +20. Anda biasanya boleh menjangkakan bahawa anda mempunyai 5%
mengurangkan saiz fail. Jumlah kadar bit yang dikurangkan boleh berbeza-beza, julat
menjangkau daripada tidak benar-benar ketara sehingga 20%.
Jika anda fikir matriks kuantisasi lain akan membantu menggunakan -K│--matriks-kuantum tersuai
pilihan. Anda boleh mencuba matriks kuantasi anda sendiri atau menggunakan binaan lain daripada matriks
lalai. Anda boleh memilih antara kvcd, tmpgenc, hi-res dan anda sendiri. Menggunakan -K biasanya
menjadikan fail lebih kecil kecuali pilihan hi-res (yang menjadikan fail jauh lebih besar).
Garis panduan yang tepat sukar diberikan, kadangkala matriks kuanitsasi lain menjimatkan hampir
tiada apa-apa, dan kali seterusnya sehingga 20%. Lebih daripada 20% adalah sangat tidak mungkin, 10-15% pada tahap sederhana
faktor kualiti (-q 8-10) mungkin. Semakin tinggi kualiti semakin kurang ia menjimatkan, pada kualiti
faktor 4-6 pengurangan kadar bit mungkin hanya 5%
Satu perkara yang perlu diingat ialah penyingkiran pekali unit dan pengkuantitian
pilihan matriks sedang mengurangkan kadar bit sambil mengekalkan kualiti visual yang sama. Pada
titik ini anda boleh memilih untuk menggunakan fail yang lebih kecil untuk meningkatkan jumlah video yang akan
muat pada media cakera atau anda boleh memilih untuk meningkatkan kualiti dengan lebih rendah lagi
-q nilai sebanyak 1 dan buat fail yang lebih besar (tetapi lebih berkualiti).
Scaling and mengimbangi pembetulan
Penskalaan asas diterangkan dalam Menukar video seksyen
Penskalaan mengambil sebahagian daripada gambar dan menskalakannya kepada saiz yang lebih besar atau lebih kecil. The
penskalaan dilakukan oleh yuvscaler:
lav2yuv ujian.eli │ yuvscaler -I USE_400x400+50+100 │ yuvplay
Di sini kami hanya mengambil sebahagian daripada gambar dan menskalakannya kepada saiz bingkai asal.
Tetapi yuvscaler juga menukar nisbah bidang piksel. Ini bermakna apabila anda melihat aliran
menggunakan yuvplay ia kelihatan seperti segi empat sama dalam contoh kami. Selepas penskalaan, jika sampel (piksel)
nisbah bidang tidak diubah, video tidak akan dipaparkan dengan nisbah bidang yang betul.
Yuvscaler mengimbangi dengan melaraskan nisbah aspek sampel. Jika anda mempunyai jalinan
video, ketinggian dan HeightOffset mestilah gandaan 4 jika video itu berjalin.
Jika tidak, nilai (lebar, tinggi, widthoffset, heightoffset) mestilah gandaan 2.
Masalah yang tidak boleh diselesaikan dengan mudah dengan penskalaan ialah apabila gambar tidak dipusatkan
mendatar. Di satu pihak anda tidak mempunyai piksel hitam dan di sisi lain anda mempunyai 30 sebagai contoh.
Penskalaan di sini adalah penyelesaian yang salah. y4mshift ialah penyelesaian yang sempurna kerana ia boleh
alihkan imej ke kiri atau kanan.
lav2yuv ujian.eli │ y4mshift -n 20 │ mpeg2enc -f 3 -b 4000 -q 10 -o video.m2v
Itu akan mengalihkan imej 20 piksel ke kanan. Jika anda menggunakan negatif imej adalah anjakan
ke kiri. Anda perlu menggunakan nombor genap. Piksel yang dimasukkan ditetapkan kepada hitam.
Mungkin ada yang tertanya-tanya mengapa imej itu tidak berpusat dan terdapat sempadan hitam di sekelilingnya
imej apabila anda melihat apa yang telah anda rakam. Sebab sempadan hitam adalah dalam sejarah
teknologi TV CRT (Cathode Ray Tube). Sejarah standard TV sa sangat
cerita yang menarik tetapi topik itu diterangkan dalam buku (besar) lain.
TV tidak menunjukkan gambar penuh. Sebahagian daripada gambar tidak ditunjukkan kerana TV
menetapkan imbasan berlebihan (kadang-kadang sebanyak 10% tetapi lebih biasa hari ini ialah 5%). Tetapi apabila anda
tangkap video dengan kad yang anda lihat keseluruhan imej termasuk sempadan yang hilang oleh TV
kerana terlalu banyak imbasan. Offset mendatar biasanya bukan masalah kad tangkapan. Ia
adalah masalah apabila filem disiarkan dan tidak disegerakkan dengan baik dengan imej. ini
bermakna imbasan sumber tidak betul-betul disegerakkan dengan isyarat pembawa, anda
tidak akan melihatnya di TV.
Frame kadar Penukaran
Pernah perlu menukar framerate daripada PAL kepada NTSC atau arah lain di sekeliling ? Ataupun
sesuatu yang lebih mudah seperti menukar kadar bingkai daripada 24FPS kepada 24000:1001 untuk
perbualan daripada kadar bingkai filem kepada kadar bingkai NTSC yang sah.
Daripada yuvfps adalah program anda. Ia boleh menurunkan kadar bingkai dengan menjatuhkan bingkai atau mencipta a
kadar bingkai yang lebih tinggi dengan mereplikasi bingkai. Jika anda mempunyai framerate yang salah dalam pengepala anda
hanya boleh menukar pengepala strim YUV dan tidak mengubah suai strim.
Oleh kerana bingkai hanya direplikasi (disalin) anda harus denoise dahulu dan kemudian tukar
kadar bingkai dan skala pada langkah terakhir. Jika anda mempunyai sumber berjalin, anda juga harus
nyahinterlace sebelum menukar framerate. Jika anda mencipta kadar bingkai yang lebih tinggi ia adalah sangat
berkemungkinan anda akan mempunyai kelipan pelik apabila anda memainkannya semula. Jika anda menukar PAL kepada NTSC
(30000:1001 FPS kira-kira 29,97 FPS) kadar bingkai akan lebih rendah kira-kira faktor 480/576
(garisan NTSC / talian PAL). Jika anda menurunkan kadar bingkai daripada PAL kepada NTSC (pada 24000:1001) atau
FILEM NTSC (24FPS) kadar bit adalah kira-kira (480 Baris * 24 FPS) / (576 Baris * 25FPS).
Jika anda menukar kadar bingkai sebelum menafikan yuvdenoise akan menghadapi masalah mencari
bunyi pada bingkai dan jalur lebar yang diperlukan akan meningkat sedikit.
Contoh
> lav2yuv video.eli │ yuvfps -r 30000:1001 │ yuvscaler -O CDLS │ mpeg2enc -f 4 -o
video_ntsc_svcd.m2v
Ini ialah contoh untuk menukar video sumber kepada video NTSC yang berjalan pada 30000:1001 FPS
(atau kira-kira 29,97FPS) pada saiz SVCD.
Contoh
> lav2yuv video.eli │ yuvdenoise │ yuvfps -r 24000:1001 │ yuvscaler -O SAIZ_720x480 │
mpeg2enc -f 3 -b 4000 -q 7 -o video_ntsc.m2v
Contoh ini menunjukkan cara anda harus menggunakan alatan tersebut. Denoise dahulu dan kemudian tukar
kadar bingkai dan pada langkah terakhir tukar saiz imej.
Ia boleh berlaku bahawa yuvscaler atau mpeg2enc tidak mengesan norma TV dengan betul. Jika itu
berlaku anda perlu menambah pilihan norma -n n/p/s kepada program yang salah memilih
norma.
Jika anda tahu bahawa pengepala memberitahu kadar bingkai yang salah, anda hanya boleh menukar kadar bingkai
pengepala yuv dengan cara ini:
> lav2yuv video.eli │ yuvfps -r 25:1 -c │ mpeg2enc -f 3 -b 4000 -q 7 -o video_pal.m2v
Anda perlukan -c pilihan. Untuk memberitahu yuvfps bahawa ia hanya perlu menukar pengepala
aliran. Dengan -r 25:1 anda memberitahu yuvfps kadar bingkai yang sepatutnya ditulis ke dalam pengepala.
Dalam contoh anda, kadar bingkai PAL sebanyak 25 FPS. Anda sentiasa perlu menggunakan bentuk pecahan.
Jika anda tahu bahawa pengepala itu salah, dan anda memerlukan bitrate output yang berbeza yang boleh anda lakukan
ini dalam satu langkah:
> lav2yuv video.eli │ yuvfps -s 24:1 -r 25:1 │ mpeg2enc -o video.m1vTranskod daripada
MPEG-2 sedia ada
Untuk transcoding strim MPEG-2 sedia ada daripada kad TV digital atau DVD kadar data yang lebih rendah
daripada untuk siaran akan memberikan hasil yang baik. VCD standard 1152 kbps biasanya hanya berfungsi
baik untuk MPEG-1. Perbezaannya adalah pada nisbah Isyarat/Bunyi yang asal. Kebisingan dalam
bahan analog menjadikannya lebih sukar untuk dimampatkan.
Anda juga perlu melaraskan secara manual kelewatan audio mengimbangi berbanding dengan video apabila
pemultipleksan. Selalunya kelewatan sekitar 150ms nampaknya berjaya.
Anda perlu memuat turun pakej ac3dec dan mpeg2dec. Anda boleh menemui mereka di mereka
laman utama: mpeg2dec ( ) dan ac3dec. Untuk penyahkodan strim audio mpg123 dan mpplayer boleh
menjadi sangat membantu. Anda juga memerlukan sox dan toolame.
Dalam direktori skrip terdapat a mpegtranscode skrip yang melakukan kebanyakan kerja.
Jadi transcoding kelihatan seperti ini:
> mjpegtranscode -V -o vcd_stream mpeg2src.mpg
-V
tetapkan pilihan supaya aliran serasi VCD dijana
-o vcd_stream
vcd_stream.m1v (video) dan vcd_stream.mp2 (audio) dicipta
mpeg2src.mpg
menentukan aliran sumber
Skrip mencetak juga sesuatu seperti ini:
> SYNC 234 mSec
Anda perlu melaraskan kelewatan permulaan audio/video semasa pemultipleksan untuk memastikan audio
dan video disegerakkan. Kelewatan tepat (dalam milisaat) yang perlu anda lalui
mplex untuk menyegerakkan audio dan video menggunakan ”-v”" dicetak oleh alat extract_a52
berlabel "SYNC" apabila dijalankan dengan bendera "s". Ini ialah nilai skrip mjpegtranscode ke
dicetak selepas SYNC perkataan.
Kemudian anda perlu memultiplekskannya seperti ini:
> plex -f 1 -O 234 vcd_stream.mp2 vcd_stream.m1v -o lowrate.mpg
-f 1
Format Mux ditetapkan kepada VCD
-O 234
Cap masa video mengimbangi dalam mSec, dijana oleh skrip mjpegtranscoding, terdapat negatif
nilai dibenarkan
vcd_stream.mp2 & vcd_stream.m1v
fail yang dihasilkan oleh skrip
lowrate.mpg
aliran keluaran yang serasi dengan VCD
Di sini kita mempunyai contoh SVCD (video MPEG-2):
> mjpegtranscode -S -o svcd_stream mpeg2src.mpg
Anda perlu memultiplekskannya dengan:
> plex -f 4 -O 234 svcd_stream.mp2 svcd_stream.m2v -o lowrate.mpg
Masalah: Kadangkala terdapat masalah dengan main balik NTSC dan VCD kerana filem mungkin
dikod semula dengan NTSC pulldown 3:2 dengan 60 medan/saat. mpeg2dec direka untuk dimainkan semula
komputer dan menjana kadar bit 24bingkai/saat asal. Jika anda mengekod video sekarang
Video 30frames/saat dibuat. Video ini kini terlalu pendek untuk audio yang dikodkan.
Transkod boleh dibuat untuk berfungsi tetapi ia mesti dilakukan secara manual:
> mpeg2dec -s -o pgmpipe mpeg2src.mpg │ pgmtoy4m -a 59:54 -r 25:1 -i t │ mpeg2enc -I 0 -f
4 -q 9 -V 230 -p -P -o svcd_stream.m2v
The -p memberitahu mpeg2enc untuk menjana bendera pengepala untuk tarik ke bawah 3:2 filem 24fps. Ia mungkin
juga berfungsi jika anda tidak menambah bendera -p. Anda tidak memerlukan bendera -p semasa transcoding ke
Format VCD kerana ia tidak disokong dalam mpeg1.
If anda mahu kepada do setiap langkah on Matlamat sendiri it akan melihat sesuatu seperti ini
Mengekstrak Audio:
> kucing ujian2.mpg │ ekstrak_a52 - -s │ ac3dec -o wav -p bunyi.wav 2> / dev / null
Salah satu baris pertama yang ditunjukkan mengandungi label "SYNC" yang anda perlu gunakan kali ini kemudian
apabila pemultipleksan. 2>/dev/null mengubah hala output ac3dec ke /dev/null. Di dalam
langkah seterusnya anda menjana fail audio mpeg:
> kucing bunyi.wav │ mp2enc -V -v 2 -o audio.mp2
-V
memaksa format VCD, kadar pensampelan ditukar kepada 44.1kHz daripada 48kHz
-v 2
tidak perlu tetapi jika anda menggunakannya mp2enc memberitahu anda berapa saat fail audio
sudah dikodkan.
-o
Menentukan fail output.
kucing ujian2.mpg │ ekstrak_a52 - -s │ ac3dec -o wav │ sox -t wav /dev/stdin -t wav -r 44100
/dev/stdout │ perkakas -p 2 -b 224 /dev/stdin audio.mp2
Satu daripada baris pertama sekali lagi keluaran mengandungi label "SYNC". Anda perlu menggunakan masa ini
(dirujuk sebagai "SYNC_value" di bawah) apabila melakukan pemultipleksan.
Untuk pembuatan VCD gunakan:
> mpeg2dec -s -o pgmpipe ujian2.mpg │ pgmtoy4m -a 59:54 -r 25:1 -i t │ mpeg2enc -s -o
video_vcd.m1v
mpeg2dec:
-s
memberitahu mpeg2dec untuk menggunakan demultiplexer aliran program
-o pgmpipe
format output gambar, sesuai untuk pgmtoy4m
Mplex dengan:
> plex -f 1 -O SYNC_value audio.mp2 video_vcd.m1v -o vcd_stream.mpg
-f 1
menghasilkan aliran VCD
-O SYNC_value
nilai yang dinyatakan di atas
Untuk penggunaan penciptaan SVCD:
> mpeg2dec -s -o mpeg2src.mpg │ pgmtoy4m -a 59:54 -r 25:1 -i t │ mpeg2enc -f 4 -q 9 -V
230 -o video_svcd.mpg
-q 9
Faktor kualiti untuk strim (strim VBR) (q lalai: 12)
-V 230
Sasaran saiz penimbal video dalam KB
-o
Fail keluaran
Mplex dengan:
> plex -f 4 -b 230 audio.mp2 video_svcd -o svcd_stream.mpg
-f 4
menjana aliran SVCD
-b 200
Tentukan saiz penimbal video oleh peranti main balik.
Untuk format output video lain ini mungkin berfungsi:
> mpeg2dec -s -o pgmpipe ujian2.mpg │ pgmtoy4m -a 59:54 -r 25:1 -i t │ yuvscaler -O
SAIZ_320x200 -O NOT_TERLACED │ mpeg2enc -o video_pelik.m1v
Jika anda ingin mengedit strim mpeg ini juga berfungsi tetapi dengan cara yang sedikit berbeza. Untuk
demultiplexing anda boleh menggunakan bbdmux daripada pakej bbtools. Membahagikan sama ada video atau
audio dengan sangat bersih. Anda tidak boleh mendapatkannya lagi dari halaman utama dari Brent Beyler, boleh
masih ditemui apabila anda mencarinya menggunakan kata kunci tersebut ” bbtools linux -suse
-kotak hitam". Semasa ia boleh didapati di:
Larian pertama:
> bbdmux myvideo.mpg
Anda sepatutnya mendapat sesuatu seperti ini:
Id strim ditemui 0xE0 = Strim Video 0
Id strim ditemui 0xC0 = Strim Audio MPEG 0
Found stream id 0xBE = Padding Stream
Ekstrak audio dengan:
> bbdmux myvideo.mpg 0xC0 audio.mp1
Tukarkannya kepada wav:
> mpg123 -w audio.wav audio.m1v
Ekstrak video dengan:
> bbdmux myvideo.mpg 0xE0 video.m1v
Menukar video kepada strim avi mjpeg:
> mpeg2dec -o pgmpipe video.m1v │ pgmtoy4m -a 59:54 -r 25:1 -i t │ yuv2lav -f a -o
ujian.avi
Kemudian tambahkan bunyi pada avi:
> lavaddwav ujian.avi audio.wav akhir.avi
Jika video sumber sudah mempunyai saiz video sasaran gunakan -o YUV. Menggunakan YUVh makes
video bersaiz separuh! Selebihnya boleh dilakukan seperti menyunting dan mengekod yang lain
aliran. Jika anda mempunyai video dengan bunyi ac3 anda hanya perlu menyesuaikan arahan di atas.
Mengekstrak Audio:
> kucing ujian2.mpg │ ekstrak_a52 - -s │ ac3dec -o wav 2>dev/null >bunyi.wav
Ekstrak video dan tambah audio dalam satu langkah:
> mpeg2dec -s -o pgmpipe │ pgmtoy4m -a 59:54 -r 25:1 -i t │ yuvscaler -O VCD │ yuv2lav -f
a -q 85 -w bunyi.wav -o ujian.avi
PERHATIAN:Anda memerlukan banyak ruang cakera. 1GB video mempunyai saiz kira-kira 2GB pada format SVCD dan
ruang cakera kursus diperlukan untuk beberapa fail temp. Menukar video kepada mjpeg juga memerlukan
beberapa waktu. Pada Athlon 500 saya, saya tidak pernah mendapat lebih daripada 6-7 Bingkai sesaat. Anda kehilangan kualiti
setiap kali anda menukar strim kepada format lain! Kualiti/Kelajuan Dagangan
Jika kualiti mutlak adalah objektif anda, peningkatan sederhana boleh dicapai menggunakan -4
dan -2 bendera. Ini mengawal betapa kejamnya mpeg2enc membuang padanan yang kelihatan buruk antara
bahagian bingkai bersebelahan semasa peringkat awal carian apabila ia berfungsi dengan
4*4 dan 2*2 kelompok piksel dan bukannya piksel individu. Tetapan -4 1 -2 1 memaksimumkan
kualiti. -4 4 -2 4 memaksimumkan kelajuan. Ambil perhatian bahawa kerana kriteria statistik mpeg2enc
kegunaan untuk membuang padanan yang kelihatan buruk biasanya boleh dipercayai peningkatan/penurunan
dalam kualiti adalah sederhana (tetapi ketara).
Mengurangkan jejari carian untuk bahagian imej yang sepadan juga meningkatkan kelajuan.
Walau bagaimanapun, disebabkan oleh cara algoritma carian berfungsi, jejari carian berkuat kuasa dibulatkan
kepada gandaan terdekat 8. Tambahan pula pada CPU moden kelajuan yang diperoleh dengan mengurangkan
jejari di bawah 16 tidak cukup besar untuk menjadikan pengurangan kualiti yang ditanda berbaloi
untuk kebanyakan aplikasi.
mewujudkan sungai kepada be dimainkan dari cakera menggunakan perisian pemain
Biasanya perisian pemain MPEG jauh lebih fleksibel daripada perkakasan terbina dalam DVD dan
Pemain VCD. Fleksibiliti ini membolehkan pemampatan yang jauh lebih baik dicapai
untuk kualiti yang sama. Caranya ialah menjana aliran video yang menggunakan penimbal video besar
(500KB atau lebih) dan pengekodan kadar bit berubah (bendera -f / -q kepada mpeg2enc). Perisian
pemain selalunya akan memainkan semula MPEG lapisan 3 yang lebih cekap dengan betul (ya, ”MP3”
format audio. Pengekod MP3 yang baik seperti lame akan menghasilkan hasil yang setanding dengan lapisan 2 at
224Kbps pada 128Kbps atau 160Kbps.SMP dan Pengekodan teragih
Pengekodan teragih ialah teori yang agak gelap untuk Mesin biasa pada tahun 2013. Jadi kebanyakannya
pengguna boleh melangkau titik itu dengan selamat. Pengekodan SMP adalah lebih menarik untuk purata
komputer
Tahap di mana mpeg2enc cuba membahagikan kerja antara urutan melaksanakan serentak ialah
dikawal oleh pilihan -M atau --multi-thread [0..32]. Ini mengoptimumkan mpeg2enc untuk
bilangan CPU yang ditentukan. Secara lalai (-M 1) mpeg2enc berjalan dengan hanya sedikit berbilang
threading: pembacaan bingkai berlaku serentak dengan pemampatan. Ini dilakukan untuk membolehkan
pengekodan saluran paip yang dipecah merentasi beberapa mesin (lihat di bawah) untuk berfungsi dengan cekap
tanpa memerlukan program penimbalan khas. Jika anda mengekod pada CPU tunggal
mesin di mana RAM ketat, anda mungkin dapat mematikan multithreading sama sekali dengan menetapkan
-M 0 berfungsi dengan lebih cekap sedikit.
Untuk mesin SMP dengan dua bijih lagi pemproses anda boleh mempercepatkan mpeg2enc dengan menetapkan
bilangan urutan pengekodan secara serentak yang anda ingin gunakan (cth -M 2).
Tetapan -M 2 atau -M 3 pada mesin 2 hala sepatutnya membolehkan anda mempercepatkan pengekodan di sekeliling
80%. Nilai di atas 3 diterima tetapi mempunyai kesan yang sangat sedikit walaupun pada 4 sistem cpu.
Jika anda mempunyai mesin SMP yang pantas (kini 1.Ogos.03) seperti dwi Athlon MP 2600 atau
sesuatu yang serupa dengan -M 2 dan penapisan mungkin tidak membuat kedua-dua (atau lebih) CPU sibuk.
Penggunaan buffer atau program bfr dengan buffer 10-20MB membantu memastikan kedua-dua CPU sibuk.
Jelas sekali jika saluran pengekodan anda mengandungi beberapa peringkat penapisan berkemungkinan besar
anda boleh memastikan dua atau lebih CPU sibuk secara serentak walaupun tanpa menggunakan -M. Menolak menggunakan
yuvdenoise atau yuvmedianfilter sangat menuntut dan menggunakan hampir sama banyak pemprosesan
kuasa sebagai pengekodan MPEG.
Sekiranya anda lebih daripada satu komputer, anda juga boleh memisahkan saluran pengekodan antara komputer
menggunakan arahan pelaksanaan shell jauh 'rsh' atau 'rcmd' standard. Sebagai contoh, jika anda
mempunyai dua komputer:
> rsh mesin1 lav2yuv ”mycapture.eli │ yuvscaler -O CDLS │ yuvdenoise” │ mpeg2enc -f 4 -o
mycapture.m2vi
Di sini komputer tempat anda melaksanakan arahan sedang melakukan pengekodan MPEG dan "machine1"
ialah mesin yang menyahkod penskalaan dan menafikan video yang ditangkap.
Jelas sekali, untuk ini berfungsi "machine1" perlu boleh mengakses video dan komputer
di mana arahan dilaksanakan perlu mempunyai ruang untuk video yang dikodkan. Dalam amalan, ia adalah
biasanya berbaloi untuk menyediakan storan fail rangkaian menggunakan "NFS" atau pakej lain jika anda
akan melakukan perkara seperti ini. Jika anda mempunyai tiga komputer, anda boleh mengambil langkah ini
selanjutnya, satu komputer boleh melakukan penyahkodan dan penskalaan, yang seterusnya boleh melakukan denoising dan
yang ketiga boleh melakukan pengekodan MPEG:
> rsh mesin1 ”lav2yuv mycapture.eli │ yuvscaler -O SVCD” │ yuvdenoise │ rsh mesin3
mpeg2enc -f 4 -o mycapture.m2v
PERHATIAN:Bagaimana pelaksanaan arahan jauh disediakan supaya data dihantar terus dari
mesin yang menghasilkannya kepada mesin yang menggunakannya.
Dalam amalan agar ini berbaloi, rangkaian yang anda gunakan mestilah cukup pantas
elakkan daripada menjadi hambatan. Untuk mesin kelas Pentium-III atau ke atas anda memerlukan a
Ethernet 100Mbps.
Untuk mesin yang sangat pantas, Ethernet 100MBps yang ditukar (atau lebih baik!) mungkin diperlukan. Menyediakan
rshd ("Remote Shell Daemon" yang diperlukan untuk rsh melakukan kerjanya dan mengkonfigurasi "rsh" ialah
di luar skop dokumen ini, tetapi ia adalah pakej standard dan sepatutnya mudah
dipasang dan diaktifkan pada mana-mana pengedaran Linux atau BSD.
Harap maklum bahawa ini berpotensi menjadi isu keselamatan jadi gunakan dengan berhati-hati pada mesin yang ada
kelihatan kepada rangkaian luar!Saling kendali
Tangkapan fail Quicktime menggunakan lavrec boleh diedit menggunakan Broadcast2000. Tetapi
Broadcast2000 tidak tersedia lagi di heroinewarrior. mjpeg fail AVI ditangkap menggunakan
alat streamer dari pakej xawtv boleh diedit dan dimampatkan dan dimainkan semula
menggunakan perisian. Main balik perkakasan tidak boleh dilakukan untuk fail sedemikian kerana batasan dalam
perkakasan Zoran yang disokong pada masa ini. Video yang dirakam dengan NuppelVideo juga boleh
diproses dengan alat mjpeg.
Jika anda mempunyai Macintosh (MAC) dan ingin menggunakan alat mjpeg lihat di sana:
Fail MPEG yang dihasilkan menggunakan alatan diketahui untuk dimainkan semula dengan betul pada:
dxr2 (kad penyahkod perkakasan)
xine
xmovie
pemain permainan
VLC
MPEG-1 sahaja: gtv
Pemain MS Media versi 6 dan 7 dan versi yang lebih baru
beberapa Pemain DVD berasaskan perisian
Untuk mengetahui perkara yang anda HW-player (kebanyakan pemain DVD masa) boleh lakukan, lihat:
Nampaknya pemain MS Media lebih menyukai aliran MPEG-1 jika anda telah menggunakan -f 1 apabila
pemultipleksan.
Jika anda mempunyai sebarang masalah atau cadangan, sila hubungi saya (Bernhard Praschinger): Di sana
ialah banyak perkara yang ditambah daripada PETUA yang dicipta oleh Andrew Stevens. Wolfgang Goeller dan
Steven M. Schultz menyemak dokumen untuk mengesan pepijat dan kesilapan ejaan.
Dan kepada orang yang telah membantu saya dengan penerangan dan pembayang program, terima kasih
Gunakan mjpegtools dalam talian menggunakan perkhidmatan onworks.net