>
> I hope you can help. Many thanks,
>
> --
> You received this message because you are subscribed to the Google Groups "WebM Discussion" group.
> To post to this group, send email to webm-d...@webmproject.org.
> To unsubscribe from this group, send email to webm-discuss...@webmproject.org.
> For more options, visit this group at http://groups.google.com/a/webmproject.org/group/webm-discuss/?hl=en.
>
>
I believe IVF support is fairly new in ffmpeg. This says it was built
on Oct 5, but when is the checkout from?
The only references to 0.6 seem to indicate it's from around May:
http://git.ffmpeg.org/?p=ffmpeg&a=search&h=HEAD&st=commit&s=0.6
It might have missed the IVF demuxer:
http://www.listware.net/201005/mplayer-ffmpeg-devel/76172-ffmpeg-devel-patch-ivf-demuxer.html
(applied 5/27)
--
- johann koenig
google
Sorry, looking in the wrong place. Looks like 0.6 was released in
June. But the news item, changelog and release notes don't mention
IVF.
Before you do that, it'd be worth verifying the ivf file. Does it
decode with ivfdec from libvpx?
Unless maverick is tracking HEAD, yes. Both webm and ivf are targeted
towards the next (yet unnumbered) release:
http://git.ffmpeg.org/?p=ffmpeg;a=blob;f=Changelog
> Before you do that, it'd be worth verifying the ivf file. Does it
> decode with ivfdec from libvpx?
Still do that though.
You can view them with display from the imagemagick package:
display -size 1280x720 yuv:img-1280x720-0001.i420
You can save a lot of space by uploading the ivf file instead and the
output of ivfdec --md5 <file>
> How do I convert the mov produced by my camera for something the
> ivfenc to work upon?
>
You could, for instance, use ffmpeg to decode the file to yuv:
$ ffmpeg -i input.mov output.yuv
Or pipe from ffmpeg, to avoid storing the raw video on your disk:
$ ffmpeg -i file.mov -f yuv4mpegpipe - 2>/dev/null | ivfenc --options
- output.ivf
Then convert the ivf to a webm file:
$ ffmpeg -i output.ivf -vcodec copy output.webm
This will get a little bit easier soon when webm writing support is
added to ivfenc. Still will need to feed it the uncompressed data
somehow though.
John
$ ffmpeg -i samurai-ambush.mov -f yuv4mpegpipe - 2>/dev/null |
~/on2/build/ivfenc --limit=10 --target-bitrate=2000 - sam.ivf
$ ~/on2/build/ivfdec -y -o sam.y4m sam.ivf
$ mplayer sam.y4m
You won't be able to play a raw yuv file without specifying the
dimensions on the command line. Using -f yuv4mpegpipe is encouraged
instead, as it will save the resolution in the file headers so you
don't need to specify it (you can save to a file, you don't have to
send it to a pipe). mplayer shouldn't have a problem playing a y4m
file, you mentioned that it didn't work in an earlier post but didn't
provide enough detail to guess at what you were seeing.
Playing raw video with mplayer is something like:
$ mplayer -demuxer rawvideo -rawvideo w=1920:h=1088 raw.yuv
John
I think you need a newer mplayer to get the ivf support. They build
ffmpeg in staticly, so the ffmpeg version you run from the command
line isn't necessarily the same version that mplayer uses.
> If I then convert this "ivf" into a webm container, like so:
> ffmpeg -i sam.ivf -vcodec copy output.webm
>
> It doesn't seem to playback correctly. Just the first few frames
> appear:
>
This is because of the --limit=10 parameter to your encode. This tells
it to encode only the first 10 frames. I added this to keep the time
down. If you're getting visible output, then you've found all the
steps you need to convert the video, just remove the --limit and it
will convert all frames.
> ==========================================================================
> Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
> [libvpx @ 0x13bd860]v0.9.2
> Selected video codec: [fflibvpx] vfm: ffmpeg (FFmpeg wrapper for
> libvpx/VP8)
> ==========================================================================
> Audio: no sound
> Starting playback...
> Movie-Aspect is 1.76:1 - prescaling to correct movie aspect.
> VO: [xv] 1920x1088 => 1920x1088 Planar YV12
> V: 0.4 0/ 0 ??% ??% ??,?%
>
> Exiting... (End of file)
>
>
>
> And I fear we've lost the sound at some step. :(
Right, ivfenc only works on the video. You need to transcode the audio
separately, then combine (remux) the two streams. Hopefully someone
else can give you an example of the commands to do this. We should try
to get a more complete example of this on the website.
> I really hope we can
> get to the same stage as `ffmpeg2theora` in the near future. Right
> now, I have tripped up so many times, I am about to admit defeat.
>
There's going to be a release in the next couple of days that should
make this a little easier for you. It can create .webm files directly,
so you won't have to convert the ivf to webm. Thanks for sticking with
it.