2

Я распространяю exe-файл, содержащий видео, которое должно воспроизводиться в Windows XP и Windows 7 без какого-либо другого установленного программного обеспечения или кодеков. Это включает в себя Windows Media Player, который многие из моих клиентов не установили.

Форматы - терпите меня, я в основном разрабатываю приложения для других платформ. Я обычно не имею дело с /v или Windows, так что моя терминология, вероятно, неверна - я пробовал и не имел успеха с:

  • .mp4
  • .ogv
  • .wmv (ирония, не правда ли?)

Я смог воспроизвести видео в формате .mpg, но у него есть две проблемы:

  • Аудио не играет
  • Файл действительно большой. Это 80 МБ, и я бы предпочел, чтобы он был не более 30 МБ. Я в порядке, положив его в zip-архив, чтобы уменьшить размер, но это уменьшает его до 50 МБ.

Когда я открываю файл на моем Mac, он играет, аудио и все.

Вот что говорит инспектор фильма QuickTime X о формате файла:

MPEG-1 Video, 1,280 x 720
MPEG Layer 3, 48000 Hz, Stereo (L R)

Мне нужна команда FFMPEG, в которую я могу подать свое видео и получить выходной файл, который будет воспроизводиться в Windows 7, как аудио, так и визуально, без каких-либо зависимостей от других кодеков или приложений. Мне бы хотелось, чтобы он также работал на новых установках Windows XP, хотя я могу жить с ним, если это не так, и в идеале я бы хотел, чтобы он также соответствовал моим ограничениям по размеру.

Отредактируйте с подробностями о выводе 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%

2 ответа2

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 перезаписывает целевой файл.

1

Я наконец нашел формат, который работал для меня на новой установке 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

Я хотел бы поблагодарить Дарта Андроида, чей ответ очень помог мне узнать больше об аргументах, которые я должен был предоставить ffmpeg.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .