Codec mana yang paling cocok untuk diputar dengan Windows Media Player di Windows XP?

16

Saya perlu menyandikan video pendek dalam format yang dapat diputar dengan windows media player di windows xp tanpa menginstal codec tambahan. Untuk proses pengodean ulang saya menggunakan ffmpeg.

Saya sudah mencoba msmpeg4v2codec tetapi kualitasnya mengerikan (dibandingkan dengan video asli yang Anda lihat "blok" besar) jadi saya mencari codec lain yang bekerja di luar kotak dan setidaknya memiliki kualitas "ok".

Karena komentar menunjukkan bahwa itu mungkin bukan codec tetapi masalah bitrate, inilah perintah yang saya gunakan:

ffmpeg -i x.flv -vcodec msmpeg4v2 -acodec adpcm_ima_wav x.avi

Keluaran:

Input #0, flv, from 'x.flv':
  Metadata:
    moovPosition    : 39337765
    avcprofile      : 100
    avclevel        : 30
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
  Duration: 00:06:19.52, start: 0.000000, bitrate: 836 kb/s
    Stream #0:0: Video: h264 (High), yuv420p, 702x396 [SAR 2596:3679 DAR 354:283], 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac, 48000 Hz, stereo, s16
w:702 h:396 pixfmt:yuv420p tb:1/1000000 sar:2596/3679 sws_param:
Output #0, avi, to 'x.avi':
  Metadata:
    moovPosition    : 39337765
    avcprofile      : 100
    avclevel        : 30
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
    ISFT            : Lavf53.32.100
    Stream #0:0: Video: msmpeg4v2 (MP42 / 0x3234504D), yuv420p, 702x396 [SAR 2596:3679 DAR 354:283], q=2-31, 200 kb/s, 25 tbn, 25 tbc
    Stream #0:1: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 48000 Hz, stereo, s16, 384 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> msmpeg4v2)
  Stream #0:1 -> #0:1 (aac -> adpcm_ima_wav)
Press [q] to stop, [?] for help
frame= 9485 fps=436 q=31.0 Lsize=   31197kB time=00:06:19.48 bitrate= 673.5kbits/s
video:12628kB audio:17913kB global headers:0kB muxing overhead 2.149820%
Pencuri
sumber
3
Mungkin masalahnya adalah bitrate Anda, bukan codec Anda. Codec yang lebih disukai untuk sistem Windows, kemungkinan besar, semacam WMV .
Der Hochstapler
Lihat jawaban saya di sana untuk tautan ke FAQ Microsoft resmi. Tetapi pada dasarnya, Anda terjebak dengan Windows Media Video - yang FFmpeg tidak akan menghasilkan. Baik itu atau yang sudah Anda coba. Seperti yang sudah dikatakan @Oliver, coba bit rate yang lebih tinggi atau pengaturan kualitas. Saya menganggap itu hanya menggunakan yang standar.
slhck
Manfaat dari codec MPEG bukanlah ukuran, melainkan fakta bahwa itu bukan wadah seperti AVI, dan itu adalah file berbasis aliran yang dapat direkam melalui encoder perangkat keras, digunakan pada media DVD untuk pemain yang berdiri sendiri, dan itu dapat dengan mudah diedit. Jadi, untuk lebih jelasnya, yang Anda tanyakan adalah format film yang dapat Anda enkode menggunakan FFMPEG yang akan menghasilkan ukuran yang Anda sukai, dan akan bekerja dengan Windows Media Player tanpa unduhan tambahan apa pun. Benar?
Bon Gart
Iya. WMV juga baik-baik saja. ada saya mendapatkan kualitas yang sama - jadi mungkin memang ada sesuatu yang salah dengan bitrate.
ThiefMaster

Jawaban:

12

Karena Anda tidak menentukan hal lain, aliran video Anda diatur untuk digunakan q=2-31, 200 kb/s. Ini menghasilkan 673.5kbitsrata-rata, yang tidak banyak, setidaknya tidak untuk codec non-h.264.

Coba paksakan

  • bitrate tertentu dengan -b:v 1000Kmisalnya. Dengan versi FFmpeg yang lebih lama, Anda hanya dapat menggunakan -b.
  • tingkat kualitas tetap dengan -qscale 2misalnya. Di sini nilainya dapat berkisar dari 1 hingga 31. Nilai-nilai sehat untuk qscaleberada dalam kisaran 2 hingga 5 atau lebih. Coba dan lihat apa yang mencapai hasil terbaik.

Codec yang benar-benar didukung pada Windows secara default adalah ini :

Ada ratusan codec audio dan video yang digunakan saat ini. Beberapa telah dibuat oleh Microsoft, tetapi sebagian besar codec telah dibuat oleh perusahaan, organisasi, atau individu lain. Secara default, sistem operasi Windows dan Player menyertakan sejumlah codec paling populer, seperti Windows Media Audio, Windows Media Video, dan MP3.

Lihat juga tipe file Multimedia yang didukung Windows Media Player untuk informasi lebih lanjut.

Dengan FFmpeg, Anda dapat mencoba mpeg1video(MPEG-1) atau mpeg2video(MPEG-2), atau msmpeg4(MPEG-4 Bagian II), tetapi saya tidak yakin apakah yang terakhir ini didukung secara universal. Jika Anda ingin bermain aman, Anda terpaksa menggunakan MPEG-1 atau MPEG-2.

slhck
sumber
ya ... itu bitrate cukup rendah untuk file mpeg.
Bon Gart
Heh. Saya harus mengatakan, kita benar-benar diberkati dengan h.264 hari ini.
slhck
terutama mengingat Anda melihat 4k hingga 5k selama 2 jam baik pada DVD (Anda bisa naik lebih tinggi tentu saja, tapi itu selalu membuat saya ruang kepala bagus pada disk untuk memasukkan file AVI dan gambar dan semacamnya)
Bon Gart
7

Saya memiliki masalah serupa dengan file .mp4 aac / h264 yang awalnya diputar dengan baik di Windows Media Player (Windows 7). Setelah saya edit dalam VirtualDub dan disimpan dalam format .avi, dan kemudian dikonversi kembali ke aac / h264 .mp4 menggunakan ffmpeg default, itu tidak akan lagi bermain di Windows Media Player.

Menggunakan MediaInfo untuk membandingkan file asli dan final, saya perhatikan profil encoding yang berbeda telah digunakan, dan pengaturan subsampel chroma yang berbeda (4: 2: 0, final 4: 4: 4). Dengan meng-enkode ulang dengan ffmpeg menggunakan opsi berikut ini WMP dapat memutar file dengan benar:

ffmpeg  -i edited.avi -pix_fmt yuv420p fixed.mp4
Annihilannic
sumber
1
Lihat trac.ffmpeg.org/wiki/Encode/H.264#Encodingfordumbplayers yang menyebutkan menggunakan -pix_fmt yuv420pdan mendukung ide ini.
Pengguna
Saya baru saja menguji ini pada Windows 10. Hanya dengan menambahkan -pix_fmt yuv420psaya dapat membuka mp4 di aplikasi Microsoft (baik pemutar bawaan dan Movie Maker).
Nux
0

Karena kedua codec sudah didukung oleh wadah AVI yang bisa Anda lakukan

ffmpeg -i x.flv -vcodec copy -acodec copy x.avi

itu dengan asumsi XP Anda mendukung h.264, kalau tidak saya akan pergi dengan file wmv, quantizer yang sama, dan biarkan ffmpeg mengisi codec. Ini akan memberi Anda kualitas yang hampir sama dengan aslinya:

ffmpeg -i x.flv -sameq x.wmv
Justin Buser
sumber
2
Saya entah bagaimana meragukan XP mendukung polos h.264
ThiefMaster
2
-sameqseharusnya tidak digunakan untuk mengonversi format yang tidak berbagi skala kuantizer yang sama. Pilihan ini tidak berarti "kualitas yang sama" seperti yang digunakan oleh dokumentasi. Juga, H.264 dalam AVI tidak dianjurkan (meskipun H.264 lossless [tidak ada b-frame] harus baik-baik saja).
llogan