nextghost / dvbcut-qt4 Goto Github PK
View Code? Open in Web Editor NEWQT4 port of dvbcut, an MPEG2 video editing software
License: GNU General Public License v2.0
QT4 port of dvbcut, an MPEG2 video editing software
License: GNU General Public License v2.0
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).
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 by
dvbcut.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.
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:
I'd like to contribute to this project f.e. by giving it a german translation.
regards Roland
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
+
+
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.