Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 474378 - net-p2p/tribler-6.1.0: uses ffmpeg command directly and does not work with libav
Summary: net-p2p/tribler-6.1.0: uses ffmpeg command directly and does not work with libav
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Luca Barbato
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 474408
  Show dependency tree
 
Reported: 2013-06-22 22:04 UTC by Nikoli
Modified: 2015-06-03 10:58 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nikoli 2013-06-22 22:04:25 UTC
$ grep -Ri avconv
$ grep -Ri ffmpeg|grep -v 'Двоичный файл'
grep: Main/webUI/static/mootools.jsVideo/VideoUtility.py:def get_thumbnail(videofile, thumbfile, resolution, ffmpeg, timecode):
Video/VideoUtility.py:    ffmpeg = Popen((ffmpeg, "-ss", str(int(timecode)), "-i", videofile, "-s", "%dx%d" % resolution, thumbfile), stderr=PIPE)
Video/VideoUtility.py:    ffmpeg.communicate()
Video/VideoUtility.py:    ffmpeg.stderr.close()
Video/VideoUtility.py:def get_videoinfo(videofile, ffmpeg):
Video/VideoUtility.py:    ffmpeg = Popen((ffmpeg, "-i", videofile), stderr=PIPE)
Video/VideoUtility.py:    out, err = ffmpeg.communicate()
Video/VideoUtility.py:    ffmpeg.stderr.close()
Video/VideoUtility.py:def preferred_timecodes(videofile, duration, sample_res, ffmpeg, num_samples = 20, k = 4):
: Нет такого файла или каталогаVideo/VideoUtility.py:        get_thumbnail(videofile, outputfile, sample_res, ffmpeg, timecode)

Core/DownloadConfig.py:            estimate calculated using the videoanalyser (e.g. ffmpeg), see
Core/SessionConfig.py:            ffmpegname = "ffmpeg.exe"
Core/SessionConfig.py:            ffmpegname = "ffmpeg"
Core/SessionConfig.py:        ffmpegpath = find_prog_in_PATH(ffmpegname)
Core/SessionConfig.py:        if ffmpegpath is None:
Core/SessionConfig.py:                self.sessconfig['videoanalyserpath'] = ffmpegname
Core/SessionConfig.py:                self.sessconfig['videoanalyserpath'] = "vlc/ffmpeg"
Core/SessionConfig.py:                self.sessconfig['videoanalyserpath'] = ffmpegname
Core/SessionConfig.py:            self.sessconfig['videoanalyserpath'] = ffmpegpath
Core/SessionConfig.py:        """ Path to video analyser FFMPEG. The analyser is used to guess the
Core/SessionConfig.py:        """ Returns the path of the FFMPEG video analyser.
Tools/createlivestream.py:    #    ffmpeg -i file.mpeg /dev/null
Tools/createlivestream-noauth.py:    #    ffmpeg -i file.mpeg /dev/null
Tools/pipe-babscam-h264-aac-gop-sync.sh:#FFMPEG=$HOME/pkgs/ffmpeg-r13556/bin/ffmpeg
Tools/pipe-babscam-h264-aac-gop-sync.sh:FFMPEG=$HOME/pkgs/ffmpeg-r14154-x264-r745/bin/ffmpeg
Tools/pipe-babscam-h264-aac-gop-sync.sh:#FFMPEG=$HOME/pkgs/ffmpeg-r14260-x264-snapshot-20080716-2245/bin/ffmpeg
Tools/pipe-babscam-h264-aac-gop-sync.sh:$FFMPEG -f mpegts -vsync 1 -map 0.0:0.1 -map 0.1 -i /dev/dvb/adapter0/dvr0 -vcodec libx264 -vb 428288 -g 16 -s 320x240 -acodec libfaac -ab 96000 -ac 1 -deinterlace -f mpegts -
Tools/pipe-babscam-mpeg4-mp3-sync.sh:$HOME/pkgs/ffmpeg/bin/ffmpeg -f mpegts -vsync 1 -map 0.0:0.1 -map 0.1 -i /dev/dvb/adapter0/dvr0 -vcodec mpeg4 -vb 428288 -s 320x240 -acodec libmp3lame -ab 96000 -ac 1 -f mpegts -
Tools/pipe-arnocam-jip.sh:ffmpeg -s 320x240 -r 15 -f video4linux -i /dev/video -vcodec mpeg4 -vb 428288 -s 320x240 -an -f mpegts -
Tools/pipe-babscam-h264-mp3.sh:$HOME/pkgs/ffmpeg-r13556/bin/ffmpeg -f mpegts -i /dev/dvb/adapter0/dvr0 -vcodec libx264 -vb 428288 -s 320x240 -acodec libmp3lame -ab 96000 -ac 1 -deinterlace -f mpegts -
Tools/createlivestream-njaal.py:    #    ffmpeg -i file.mpeg /dev/null
Tools/pipe-arnocam-home.sh:ffmpeg -i /dev/video -vcodec mpeg4 -vb 428288 -s 320x240 -acodec mp3 -ab 96000 -ac 1 -f mpegts -
Lang/english.lang:choosevideoanalyser = "Locate FFMPEG"
Lang/english.lang:# videoanalyserwhereset = "Set it to FFMPEG in the Preferences / Video menu"
Lang/english.lang:videoanalyserpath = "Path to the FFMPEG video analyser:"
Main/Utility/utility.py:            defaults['videoanalyserpath'] = self.getPath()+'\\ffmpeg.exe'
Main/Utility/utility.py:            ffmpegpath = find_prog_in_PATH("ffmpeg")
Main/Utility/utility.py:            if ffmpegpath is None:
Main/Utility/utility.py:                defaults['videoanalyserpath'] = "vlc/ffmpeg"
Main/Utility/utility.py:                defaults['videoanalyserpath'] = ffmpegpath
Main/Utility/utility.py:            ffmpegpath = find_prog_in_PATH("ffmpeg")
Main/Utility/utility.py:            if ffmpegpath is None:
Main/Utility/utility.py:                defaults['videoanalyserpath'] = "ffmpeg"
Main/Utility/utility.py:                defaults['videoanalyserpath'] = ffmpegpath
Main/vwxGUI/TorrentStateManager.py:            print >> sys.stderr, 'create_and_seed_metadata: FFMPEG - duration = %d, bitrate = %d, resolution = %s' % (duration, bitrate, resolution)
Main/vwxGUI/TorrentStateManager.py:                print >> sys.stderr, 'create_and_seed_metadata: FFMPEG - thumbnail created = %s, timecode = %d' % (path_exists, timecode)
Comment 1 Anthony Basile gentoo-dev 2014-10-04 12:08:31 UTC
I don't understand this bug.  Why and what should be done?
Comment 2 Nikoli 2014-10-08 07:42:54 UTC
libav replaced /usr/bin/ffmpeg with /usr/bin/avconv, it has different cli options.
Comment 3 Anthony Basile gentoo-dev 2014-10-08 12:17:33 UTC
(In reply to Nikoli from comment #2)
> libav replaced /usr/bin/ffmpeg with /usr/bin/avconv, it has different cli
> options.

Can you give me a patch?
Comment 4 Nikoli 2014-10-08 12:38:48 UTC
I looked at tribler-6.3.3 sources, seems it supports libav now:
Core/SessionConfig.py-        # Set video_analyser_path
Core/SessionConfig.py-        if sys.platform == 'win32':
Core/SessionConfig.py-            ffmpegname = u"ffmpeg.exe"
Core/SessionConfig.py-        elif sys.platform == 'darwin':
Core/SessionConfig.py-            ffmpegname = u"ffmpeg"
Core/SessionConfig.py-        else:
Core/SessionConfig.py:            ffmpegname = u"avconv"
Core/SessionConfig.py-

So most likely now it safe to have virtual/ffmpeg in deps, but better check if tribler actually works fine with libav.

P.S. I also looked at tribler ebuilds, why they are not using any python eclasses at all? And python deps should have [${PYTHON_USEDEP}].
Comment 5 Luca Barbato gentoo-dev 2014-10-08 13:31:05 UTC
That code probably could be made much simpler.
Comment 6 Anthony Basile gentoo-dev 2014-11-21 13:59:58 UTC
This version is off the tree.  Can you check 6.3.3?
Comment 7 Pacho Ramos gentoo-dev 2015-06-03 10:58:13 UTC
(In reply to Anthony Basile from comment #6)
> This version is off the tree.  Can you check 6.3.3?