需要一种可以在 Windows XP/7 上播放的视频格式

需要一种可以在 Windows XP/7 上播放的视频格式

我正在分发一个 exe 文件,其中包含一个视频,该视频需要能够在 Windows XP 和 Windows 7 上播放,而无需安装任何其他软件或编解码器。这包括 Windows Media Player,我的许多客户都没有安装它。

格式 – 请耐心等待,我主要为其他平台开发应用程序。我通常不处理音频/视频或 Windows 内容,所以我的术语可能不正确 – 我尝试过但未成功:

  • .mp4
  • .ogv
  • .wmv(很讽刺,不是吗?)

我已经能够播放 .mpg 格式的视频,但有两个问题:

  • 音频无法播放
  • 文件真的很大。它有 80 MB,我希望它不超过 30 MB。我可以把它放在 zip 中以减小大小,但这只能将它减小到 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 上播放,那就太好了,虽然如果不能播放我也可以接受,理想情况下,我希望它也在我的大小限制之内。

当我尝试遵循 Darth Android 的回答时,编辑了有关 ffmpeg 输出的详细信息:

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%

答案1

尝试:

ffmpeg.exe -i "C:/Path/to/your/video.mkv" -vcodec mpeg2video -acodec mp2 -f vob -y "C:/Path/to/output/video.mpg" 

您的源文件在哪里video.mkv,以及video.mpg您的输出在哪里。

-vcodec mpeg2video将输出视频格式设置为 MPEG2
-acodec mp2将输出音频格式设置为 MPEG2 -f vob将输出容器/文件格式设置为 Vob (*.mpg)
-y覆盖目标文件。

答案2

我终于找到了一种适合我的格式,可以在全新安装的 Windows 7 上使用,无需 Windows Media Player 或任何其他编解码器:

MPEG-1 Video, 1,280 x 720
MPEG Layer 3, 48000 Hz, Mono

(请注意,与我第一次发布问题时所使用的相比,唯一的变化是从立体声变成了单声道。)

为了得到它我输入:

ffmpeg -i my-video.mp4 -vcodec mpeg1video -acodec mp2 -ac 1 -f vob my-video-mono.mpg

我要感谢 Darth Android,他的回答极大地帮助了我了解我需要向 ffmpeg 提供的参数。

相关内容