Menggunakan ffmpeg untuk menyandikan video mentah ke format H.264

10

Pada Ubuntu 10.04, saya mencoba untuk menyandikan video mentah (format YUV) ke video yang dikodekan H.264 menggunakan perintah ffmpeg di bawah ini:

ffmpeg -i input.mp4 output.h264

tapi saya mendapatkan pesan kesalahan

Codec yang tidak didukung untuk aliran output # 0.0

Lalu ketika saya mencoba opsi ini:

ffmpeg -i input.mp4 -formats h264 output.h264

masih belum disandikan.

Sekarang saya mengerti bahwa ffmpeg menggunakan libx264 untuk penyandian ke format H.264. Sekarang saya memiliki paket x264 - encoder H.264 cepat diinstal pada Ubuntu ini.

Pertanyaan saya:

  1. Apakah ada hubungan antara libx264 ini yang membutuhkan ffmpeg dan program x264?
  2. Bagaimana cara saya menginstal libx264 dan membuat ffmpeg menggunakan ini untuk memungkinkan saya menyandikan video ke format H.264?
berarti emas
sumber
Bagaimana dengan pertanyaan Anda sebelumnya, bukankah itu diselesaikan? penggunaan ffmpeg untuk mengkodekan video ke format codec H264
slhck
@ slhck - Terima kasih tapi, Ketika saya menggunakan: - ffmpeg -s 352x240 -i 352x240_420.yuv -vcodec libx264 out.mp4. Itu memberi kesalahan - "Encoder 'libx264'" tidak dikenal. Petunjuk lebih lanjut. Apakah libx264 sama dengan pustaka x264 atau yang lainnya.
goldenmean
Mengenai kompilasi ffmpeg dan x264 di Linux, lihat di sini: ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
slhck

Jawaban:

11

Pertama-tama, perintah-perintah yang Anda gunakan tampak salah secara sintaksis. Agar ffmpeg menggunakan x264, Anda perlu memberikan -c:v libx264argumen.

Sekarang, jika Anda memiliki file YUV mentah, Anda perlu memberi tahu ffmpeg format piksel mana, ukuran mana, dll. Yang digunakan:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4

Ubah ini sesuai dengan spesifikasi file YUV Anda. Lihat ffmpeg -pix_fmtsdaftar format piksel yang didukung. fourcc.org juga merupakan sumber yang bagus untuk itu.

Jika Anda hanya ingin bitstream H.264 mentah dalam .264file:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 -f rawvideo output.264
slhck
sumber
-1

ffmpeg -f rawvideo -pix_fmt yuv420p -s: v 1920x1080 -r 23.976 -i raw_i420_1920_1080 -vcodec libx264 -f rawvideo output.264

-vcodecmemberitahu codec mana yang akan digunakan. man ffmpegakan membantu Anda belajar lebih banyak.

Vishwanath Patil
sumber