FLV перекодирует в mp4 для iphone / ipod через ffmpeg и x264 (проблема качества) - PullRequest
0 голосов
/ 18 августа 2011

Есть много вопросов на эту тему, и я прочитал большинство из них и большинство результатов поиска Google, которые я мог бы придумать.

Когда я использую FFMPEG для преобразования FLV вMP4-файл, совместимый с iphone3, просто недостаточно качественный.Да, я чертовски потрудился над настройками -sameq и -b и -bt, текст просто не читается.

Далее я попытался разделить видео и обработать его напрямую, используяэти инструкции: https://sites.google.com/site/linuxencoding/x264-encoding-guide

Проблема в том, что myplayer (через ffmpeg) не смог определить продолжительность FLV (даже если метаданные были установлены).

(я предполагаю), потому чтоэтой неизвестной продолжительности, когда я создаю файл MP4, результирующий файл x264 воспроизводится очень быстро, в то время как звук воспроизводится с нормальной скоростью.

user@server:/tmp# mplayer -nosound -benchmark -sws 9 -vf dsize=640:480:0,scale=0:0,expand=640:480 -vo yuv4mpeg:file=>(x264 --demuxer y4m --crf 0 --preset slow --threads auto --output output.264 - 2>x264.log) 'input.flv'
MPlayer 1.0rc4-4.4.5 (C) 2000-2010 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing input.flv.
libavformat file format detected.
[flv @ 0x1202460]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: video (vp6f), -vid 0
[lavf] stream 1: audio (nellymoser), -aid 0
VIDEO:  [VP6F]  1680x992  0bpp  1000.000 fps   33.4 kbps ( 4.1 kbyte/s)
Clip info:
 audiocodecid: 6
 audiodatarate: 86
 audiosamplerate: 44100
 audiosamplesize: 16
 audiosize: 6097005
 canSeekToEnd: true
 datasize: 8609138
 duration: 567
 framerate: 2
 hasAudio: true
 hasCuePoints: false
 hasKeyframes: true
 hasMetadata: true
 hasVideo: true
 height: 992
 lasttimestamp: 567
 metadatacreator: flvtool++ (Facebook, Motion project, dweatherford)
 stereo: false
 totalframes: 1043
 videocodecid: 4
 videodatarate: 33
 videosize: 2316256
 width: 1680
Using (default) progressive frame mode.Opening video filter: [expand w=640 h=480]
Expand: 640 x 480, -1 ; -1, osd: 0, aspect: 0.000000, round: 1
Opening video filter: [scale w=0 h=0]
Opening video filter: [dsize=640:480:0]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffvp6f] vfm: ffmpeg (FFmpeg VP6 Flash)
==========================================================================
Audio: no sound
Starting playback...
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x7f0c738b9620]Lanczos scaler, from yuv420p to yuv420p using MMX2
VO: [yuv4mpeg] 640x480 => 641x480 Planar YV12

Я также пытался указать FPS, но без изменений врезультаты

user@server:/tmp# mplayer -nosound -fps 25-benchmark -sws 9 -vf dsize=640:480:0,scale=0:0,expand=640:480 -vo yuv4mpeg:file=>(x264 --demuxer y4m --fps 25 --crf 0 --preset slow --threads auto --output output.264 - 2>x264.log) 'input.flv'

Может кто-нибудь сказать мне, как:

  1. исправить мои проблемы с обработкой A / V / временем / продолжительностью?
  2. улучшить качество преобразования FFMPEG FLV в формат, совместимый с iphone3?

1 Ответ

1 голос
/ 18 августа 2011

Я бы предложил попробовать ручную разбивку (http://handbrake.fr/), Я думаю, что он может кодировать FLVs, а также почти любой другой формат файла, который я когда-либо пробовал, и у меня никогда не было проблем с качеством.

...