Git Product home page Git Product logo

dvbcut-qt4's Introduction

DVBCUT README -- last edited 2012-07-26

This is a full QT4 port of dvbcut. The plan is to reimplement the original
interface using proper QT4 classes (not just QT3support) and then make
additional improvements. You can find the original QT3 version at
http://sourceforge.net/projects/dvbcut/

See the file "COPYING" for license issues. See the file "INSTALL" file for
installation instructions.

dvbcut is a Qt application which enables you to select certain parts of an
MPEG transport stream (as received on Digital Video Broadcasting, DVB) and
save these parts into a single MPEG output file. It follows a "keyhole
surgery" approach. Thus, the input video and audio data is mostly kept
unchanged, only very few frames at the beginning and/or end of the selected
range are recoded in order to obtain a valid MPEG file.

dvbcut needs to create index information on an MPEG file first. Therefore,
when loading an MPEG transport stream file, it also asks you for a filename
of an index file. If you choose an existing file, it is loaded and used as
index if suitable. (That means, that dvbcut performs some sanity checks on
the index itself and also checks if the index describes the chosen MPEG
file.) If you select a file which does not yet exist, dvbcut creates the
necessary index in place.

After opening the MPEG file, you can navigate through the video by means of
a linear and a log scale slider. While the first represents the whole video,
the latter enables you to precisely select frames close to the current frame.
At any place in the video, you can add START, STOP, CHAPTER and BOOKMARK
markers. Markers are shown in the list on the left. With the START and STOP
markers you determine what parts of the video you want to write to a new
file. dvbcut starts at the first START marker and proceeds until it
encounters a STOP marker. If there are more START markers after that STOP,
it will continue at the next START marker, and so on. Every START marker,
which follows a START with no STOP inbetween, is meaningless. So is a STOP
marker before the first START or after another STOP (with no START
inbetween).

dvbcut-qt4's People

Contributors

eriban avatar nextghost avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dvbcut-qt4's Issues

Compilation errors

I am trying to compile this in Qt Creator 2.5.2 with Qt 4.8.1 on Ubuntu 12.04.

I get this error:
No rule to make target ../../dvbcut-qt4/src/version.h', needed bydvbcut.o'. Stop.

When I run ./setversion.sh on the terminal manually it goes on but then says:
/โ€ฆ/dvbcut-qt4/src/lavfmuxer.cpp:52: Fehler:'avformat_alloc_output_context2' was not declared in this scope

I have libavformat-dev 0.8.6 installed.

Contribution to dvbcut

Hi, using Qt 4.8.0, I had to add the following two includes to dvbcut.cpp to have it successfully compiled on my XUbuntu 64-bit machine:

include "errno.h"

include "math.h"

I'd like to contribute to this project f.e. by giving it a german translation.

regards Roland

mising symbol, dvbcut won't compile with ffmpeg 2.2.5

Hi,

on gentoo with ffmpeg version 2.2.5 the symbol AVCODEC_MAX_AUDIO_FRAME_SIZE is missing.
According to mpenkov/ffmpeg-tutorial#13 each project has to define this for themselves.
I made a patch:
--- a/src/lavfmuxer.cpp
+++ b/src/lavfmuxer.cpp
@@ -40,6 +40,12 @@ extern "C" {
#define CODEC_TYPE_AUDIO AVMEDIA_TYPE_AUDIO
#endif

+/* libavcodec >= 2.2.5 does not define this anymore */
+#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
+# define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
+#endif
+
+

German Translation

The first German translation is done.
Because I have no permission to write, I'll have to send the dvbcut_de.ts via e-mail.

Regards Roland

Commit abf4434d12 causes build with extern ffmpeg to fail

Hello all,

the commit abf4434 introduces function decode_audio3(...) which uses av_frame_alloc() and av_frame_free().
I have ffmpeg version 1.2.6 installed by my distribution which does not know the symbols.
Over here LIBAVCODEC_VERSION_INT is defined as (54,92,100).

I made a patch similar to the one posted here
http://stackoverflow.com/questions/24057248/ffmpeg-undefined-references-to-av-frame-alloc
upon commit abf4434

--- src/defines.h.orig 2014-11-03 18:44:25.912535415 +0100
+++ src/defines.h 2014-11-03 19:17:11.060447751 +0100
@@ -21,6 +21,8 @@
#ifndef _DVBCUT_DEFINES_H
#define _DVBCUT_DEFINES_H

+#include <libavcodec/version.h>
+
#define MUXER_FLAG_KEY (1<<0)

#define MAXAUDIOSTREAMS (0x20)
@@ -29,6 +31,12 @@
#define VIDEOSTREAM (MAXAUDIOSTREAMS)
#define MAX_AUDIO_FRAME_SIZE 192000

+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,28,1)
+# define av_frame_alloc() avcodec_alloc_frame()
+# define av_frame_free(frame) avcodec_free_frame(frame)
+# define av_free(ptr) free(ptr)
+#endif
+
static inline int audiostream(int s=0)
{
return s;

best regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.