Saya memiliki aliran video dengan properti berikut:
Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x416 [SAR 1:1 DAR 45:26], 1908 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
Ketika saya menjalankannya di VLC, saya harus menekan "A" untuk mengubah rasio aspek menjadi "4: 3" untuk membuat video ditampilkan dengan rasio aspek yang benar.
Melihat fakta-fakta video, Apakah kesalahan bahwa a) video yang sebenarnya telah salah diregangkan dalam data piksel, atau b) hanya ada beberapa nilai metadata yang telah salah diatur?
Jika yang pertama, saya tahu saya bisa menyandikan ulang video dan mengubah lebar dan tinggi. Tetapi jika yang terakhir, perintah ffmpeg apa yang harus saya jalankan untuk memperbaiki metadata tanpa meng-encode ulang video itu sendiri?
-c copy
dan skala pada saat yang sama; namun Anda dapat menggunakan-aspect
untuk mengubah rasio aspek di tingkat wadah (tetapi tidak pada tingkat aliran).-aspect
tidak berfungsi untuk pemutaranffplay
, tetapi tidak di WMP atau MPC-HC. Itu menambahkan item SAR / DAR tambahan keStream #…
baris info diFFmpeg/probe/play
tetapi tampaknya tidak menjadi solusi untuk pemutaran umum. Meregangkan video dengan jendela sepertinya solusi termudah untuk pemutaran MPC-HC.Jawaban Delgado benar bahwa MP4Box dapat melakukan ini, tetapi
-par
opsi tidak berfungsi sebagaimana dijelaskan. Dengan-out
parameter (agar tidak mengganggu file asli Anda):Saat Anda menggunakan
-par stream-number=width:height
, Anda menentukan rasio aspek piksel - yaitu, hasil membagi rasio aspek perangkat dengan rasio aspek penyimpanan. (Dengan kata lain, Anda menggambarkan rasio aspek piksel sumber.) Misalnya, Anda memiliki sumber DVD 720x480, dan rasio aspek tampilan yang benar adalah 4: 3. Untuk kasus ini, Anda perlu:karena (4/3) / (720/480) = 8/9.
Jika sumber mewakili piksel SD NTSC yang sebenarnya (dalam hal ini hanya 704 × 480 piksel pusat yang seharusnya dipetakan ke layar 4 × 3, dengan 8 piksel overscan di kedua sisi), perintah yang benar adalah:
karena (4/3) / (704/480) = 10/11 - persis rasio aspek piksel referensi untuk video NTSC definisi standar.
Untuk kasus yang diberikan dalam pertanyaan, jika benar-benar 4: 3, itu memberikan rasio aspek piksel yang sangat aneh: (4/3) / (720/416) = 104/135. Lebar 720, yang menunjukkan sumber DVD; ini adalah video 25 fps, menyarankan PAL, tetapi PAR bekerja kurang dari 1, menyarankan NTSC. Bisa jadi 4: 5, saya kira (sangat dekat dengan 104: 135), tetapi saya tidak tahu apa pun yang menghasilkan rasio aspek piksel; mungkin coba dulu, dan kemudian coba 3: 4 jika masih terlihat terlalu melar secara horizontal. Jika Anda yakin itu tepat 4: 3, tentu saja, gunakan saja 104: 135.
sumber
ffmpeg tidak dapat mengubah parameter aliran video tanpa pengodean ulang, MP4Box (bagian dari gpac ) dan mkvmerge dapat. Dalam hal satu streaming video dan rasio aspek nyata / benar 4: 3, Anda mungkin ingin mencoba:
Untuk memverifikasi sebelum dan sesudah:
ffmpeg -i VideoFile.mp4
sumber
Mengubah SAR tanpa reencoding juga bekerja dengan
ffmpeg
pada.mp4
menggunakanh264_metadata
sebagai Gyan menunjukkan di sini :sumber