Tuesday 3 February 2015

Hi everyone,
First off this post is a little late but there have been some interesting developments! Here it goes....

Well the DVD project wasn't working out very well so my mentor asked me to work on something else while we figured out what to do next about it.
So I worked on adding some enhanced features to the WebVTT subtitles encoder for a while. 

Currently I am working on  ASS subtitles and I've added a new option to the subtitles video filter.This option basically allows a user to customize the hard-subbed subtitles in a video. 
For e.g:
  • If I wish to change the font size of the subtitles (make them 22), I can use:
./ffmpeg -i test.avi -vf "subtitles=testing.srt:force_style='FontSize=22'"  out.avi

  • Now, if I want to change the Type of font,font size,font color(Red) and style(italicize) the subtitles,I can do something like:

./ffmpeg -i test.avi -vf "subtitles=testing.srt:force_style='FontName=Arial,FontSize=22,PrimaryColour=255,Italic=-1'"  out.avi

  •  If the user wants to add Outline to the font or Change the Alignment then it can be achieved using :
./ffmpeg -i test.avi -vf "subtitles=testing.srt:force_style='Outline=2,Alignment=3'"  out.avi
 
There are many other formatting styles that can be implemented. A more detailed list of the available styles is provided below:


Monday 19 January 2015

I'll be sharing what I've been trying with the DVD protocol these days:
I tried to remux/transmux the test ISO files into different video file formats. I tried working on mkv,mpg,avi etc. Well, there were some issue with timestamps while converting into the mkv file format and so it failed. Transmuxing into avi and mpg worked but they would keep looping over a few seconds of video throughout. Thanks to my mentor's help I was able to fix that problem...the dvd_seek function was not working properly. I had also added some menu functionality in hopes of making the remuxing work properly but it didnt turn out so useful. So,currently I am cleaning up the protocol code and also trying to learn git the right way (I always try to evade learning git and end up messing things up :-/). Thats all for now :-)

Saturday 3 January 2015

Happy New Year everyone! Here are a few updates on the project :
Well it was finally decided that an input device might not be the correct choice for DVD support since the libdvd* libraries do not provide sufficient abstraction to convert the DVD data into separate packets and then send them as individual streams. Sooo...I am back to working on the original DVD protocol patch. Now as far as I understand the protocols in FFmpeg are basically used to read data from the given file (in this case dvd) and then pass it on to a demuxer. I've been working with the protocol and one major problem that has surfaced is that the MPEG streams that are finally demuxed by the mpeg demuxer do not show any subtitles stream (I know, it breaks my heart too :-/ ) . Apart from that the code seems to be in need of a few tweaks the patch being quite an old one (2009 :O ). Currently I'm testing it with the changes my mentor has suggested to keep the whole thing to a bare minimum while achieving the desired functionality. That's all for the time being. I'll keep updating :) 

Tuesday 23 December 2014

DVD input device updates

Its been a while! I'll be discussing my progress regarding the DVD input device that I've been working on. Well, I had a small discussion with my mentor regarding the input format for the device and some issues that I was facing with a dvdnav sample code that I had found on the Internet. We discovered that ISO files worked well with the code but there were some CSS issues when I tried to mount the ISO file. Moving on, I registered the DVD input device and made changes in the configuration file to get the whole thing working without the FFmpeg build crashing (trust me, it can get ugly real quick). Currently I am working on the demuxing of the data that I get from the DVD packets. These packets when demuxed and integrated will output streams of audio , video and subpictures (bitmap subtitles). Once this is done, the streams can be associated with respective codec IDs. Hoping that everything works out fine, the decoders will then give the output in the desired format :D I'll be posting some snaps of the device too once I reach home :)

Monday 8 December 2014

Kickstarting OPW

I officially start working for FFmpeg for 3 months now :) Alright, my task for the time being is to make a DVD demuxer which performs the task of converting DVDs into video files of other formats (e.g mkv , avi etc.) I'll be making use of libraries that are used for manipulation of DVD data namely libdvdnav, libdvdread and libdvdcss. I have to start off by making an input device which would then output different streams of information that is stored in the DVD and then send them to their respective decoders finally to be encoded into a video file. I wasn't able to research much on the topic because of my never ending university exams..in fact, I still have 2 left but this is an awesome relief from them ^_^ Right, so the part that I'm still trying to figure out is how to send multiple streams from a single file to different decoders. I need to thoroughly understand the DVD structure in order to get the output streams right....this is gonna be fun :) I'll be posting more on this as I keep figuring out new things related to FFmpeg or DVDs.

Saturday 15 November 2014

This post is the first of many posts that I will be sharing as I complete my internship. That's right. :D I got selected for GNOME's OPW internship and as a part of the internship I need to blog my progress at frequent intervals. I find this to be one of the most interesting aspects of the internship.
That's all I've got right now. I'll be posting soon.