ฉันกำลังกระจายไฟล์ exe ที่มีวิดีโอที่ต้องสามารถเล่นได้บน Windows XP & Windows 7 โดยไม่ต้องติดตั้งซอฟต์แวร์หรือตัวแปลงสัญญาณอื่นใด ๆ ซึ่งรวมถึง Windows Media Player ซึ่งลูกค้าของฉันจำนวนมากไม่ได้ติดตั้ง
รูปแบบ - ทนกับฉันฉันส่วนใหญ่พัฒนาแอพสำหรับแพลตฟอร์มอื่น ๆ ปกติฉันไม่ได้จัดการกับไฟล์ a / v หรือ Windows ดังนั้นคำศัพท์ของฉันอาจไม่ทำงานฉันได้ลองและไม่ประสบความสำเร็จด้วย:
- .mp4
- .ogv
- .wmv (แดกดันใช่มั้ย)
ฉันสามารถเล่นวิดีโอในรูปแบบ. mp4 แต่มีสองประเด็น:
- เสียงไม่เล่น
- ไฟล์มีขนาดใหญ่มาก มันคือ 80 MB และฉันควรจะมีไม่เกิน 30 MB ฉันโอเคกับการใส่มันลงในซิปเพื่อลดขนาดลง แต่มันก็ลดลงเหลือแค่ 50 MB
เมื่อฉันเปิดไฟล์บน Mac มันจะเล่นเสียงและทั้งหมด
นี่คือสิ่งที่ผู้ตรวจสอบภาพยนตร์ QuickTime X พูดเกี่ยวกับรูปแบบไฟล์:
MPEG-1 Video, 1,280 x 720
MPEG Layer 3, 48000 Hz, Stereo (L R)
ฉันต้องการคำสั่ง FFMPEG ที่ฉันสามารถป้อนวิดีโอของฉันและจบลงด้วยไฟล์เอาต์พุตที่จะเล่นบน Windows 7 ทั้งภาพและเสียงโดยไม่ต้องพึ่งพาตัวแปลงสัญญาณหรือแอปพลิเคชันอื่น ๆ ฉันต้องการถ้ามันเล่นบนการติดตั้งใหม่ของ Windows XP แม้ว่าฉันจะสามารถอยู่กับมันถ้ามันไม่ได้และนึกคิดฉันจะให้มันอยู่ในข้อ จำกัด ขนาดของฉัน
แก้ไขโดยมีรายละเอียดเกี่ยวกับผลลัพธ์ของ ffmpeg เมื่อฉันพยายามติดตามคำตอบของ Darth Android:
ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 15 2013 10:56:46 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads
--enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx
--enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264
--enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb
--enable-filters --enable-libgsm --arch=x86_64 --enable-runtime-cpudetect
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'my-video.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2013-06-10 18:21:11
encoder : HandBrake 0.9.9 2013051800
Duration: 00:01:33.95, start: 0.000000, bitrate: 954 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 813 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc
Metadata:
creation_time : 2013-06-10 18:21:11
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 136 kb/s
Metadata:
creation_time : 2013-06-10 18:21:11
[vob @ 0x7f8278821000] VBV buffer size not set, muxing may fail
Output #0, vob, to 'my-video.mpg':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
encoder : Lavf55.12.100
Stream #0:0(und): Video: mpeg2video, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
Metadata:
creation_time : 2013-06-10 18:21:11
Stream #0:1(eng): Audio: mp2, 48000 Hz, stereo, s16, 128 kb/s
Metadata:
creation_time : 2013-06-10 18:21:11
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg2video)
Stream #0:1 -> #0:1 (aac -> mp2)
Press [q] to stop, [?] for help
frame= 182 fps=0.0 q=24.8 size= 528kB time=00:00:06.25 bitrate= 691.6kbits
frame= 380 fps=379 q=31.0 size= 1076kB time=00:00:12.97 bitrate= 679.4kbits
frame= 548 fps=364 q=31.0 size= 1704kB time=00:00:18.49 bitrate= 754.8kbits
frame= 692 fps=345 q=31.0 size= 2390kB time=00:00:23.26 bitrate= 841.4kbits
frame= 815 fps=325 q=31.0 size= 3170kB time=00:00:27.30 bitrate= 951.2kbits
frame= 950 fps=316 q=24.8 size= 4146kB time=00:00:31.78 bitrate=1068.4kbits
frame= 1079 fps=307 q=31.0 size= 5154kB time=00:00:36.13 bitrate=1168.5kbits
frame= 1242 fps=309 q=31.0 size= 5868kB time=00:00:41.65 bitrate=1154.0kbits
frame= 1413 fps=313 q=31.0 size= 6586kB time=00:00:47.31 bitrate=1140.2kbits
frame= 1587 fps=316 q=31.0 size= 7346kB time=00:00:53.14 bitrate=1132.2kbits
frame= 1753 fps=318 q=31.0 size= 8026kB time=00:00:58.66 bitrate=1120.7kbits
frame= 1925 fps=320 q=31.0 size= 8798kB time=00:01:04.35 bitrate=1119.9kbits
frame= 2091 fps=321 q=31.0 size= 9646kB time=00:01:10.02 bitrate=1128.5kbits
frame= 2226 fps=317 q=31.0 size= 10484kB time=00:01:14.48 bitrate=1153.0kbits
frame= 2386 fps=317 q=31.0 size= 11232kB time=00:01:19.86 bitrate=1152.1kbits
frame= 2554 fps=318 q=31.0 size= 11852kB time=00:01:25.40 bitrate=1136.8kbits
frame= 2759 fps=324 q=31.0 size= 12396kB time=00:01:32.14 bitrate=1102.0kbits
frame= 2813 fps=325 q=31.0 Lsize= 12546kB time=00:01:33.94 bitrate=1094.0kbits/s
video:10904kB audio:1468kB subtitle:0 global headers:0kB muxing overhead 1.402856%
ffmpeg
คำสั่งตัวอย่างที่จะไปจากประเภทของไฟล์ที่ฉันต้องประเภทนั้น (อาจเป็นคำตอบเพื่อให้ฉันสามารถทำเครื่องหมายว่าถูกต้อง?)
-c:v mpeg2video
และ-c:a mp2
ใช้ตัวแปลงสัญญาณเหล่านี้ คุณสามารถตั้งค่าคุณภาพของ mpeg2video ด้วย-q:v 4
(ช่วงคือ 1-31 โดยที่จำนวนต่ำกว่า = คุณภาพที่ดีขึ้นและ 3-6 เป็นช่วงที่มีประโยชน์) ฉันไม่แน่ใจว่าจะตั้งเป็นเสียงอย่างไร (มันจะ -q : a, แต่ฉันไม่แน่ใจว่าช่วงนั้นคืออะไร)
mp2
จะไม่สนใจ-q:a
และจะใช้ค่าเริ่มต้นของ-b:a 128k
และmp2
เป็นเรื่องเกี่ยวกับสิ่งที่บิตเรตจะยอมรับ
MPEG-2 Video
ด้วยMPEG Layer 2
เสียงเนื่องจากทั้งสองอย่างรวมอยู่ในตัวกรอง DirectShow เริ่มต้นที่มาพร้อมกับ Windows (และMPEG-2
วิดีโอจะให้ผลลัพธ์ที่ดีกว่าMPEG-1
)